pandas多行合并成一行

文章目录

    • 构建df
    • df结构
    • 把相同公司的行合并成一行
    • 效果
    • 代码汇总

构建df

import pandas as pd

df = pd.DataFrame(
    {'水果': ['苹果', '香蕉', '西瓜', '葡萄', '柚子', '芒果'], '公司': ['A1', 'A1', 'A2', 'A2', 'A2', 'A3'], '重量': [1, 2, 3, 4, 5, 6],
     '数量': [3, 2, 5, 10, 10, 6]})

df结构

pandas多行合并成一行_第1张图片

把相同公司的行合并成一行

print(df.groupby(['公司']).agg({'水果': [', '.join], '数量': lambda x: list(x),
                        '重量': lambda x: list(x)}).reset_index())

效果

pandas多行合并成一行_第2张图片

代码汇总

# pandas多列合并成一行
import pandas as pd

df = pd.DataFrame(
    {'水果': ['苹果', '香蕉', '西瓜', '葡萄', '柚子', '芒果'], '公司': ['A1', 'A1', 'A2', 'A2', 'A2', 'A3'], '重量': [1, 2, 3, 4, 5, 6],
     '数量': [3, 2, 5, 10, 10, 6]})
# print(df)
print(df.groupby(['公司']).agg({'水果': [', '.join], '数量': lambda x: list(x),
                        '重量': lambda x: list(x)}).reset_index())

你可能感兴趣的:(pandas,pandas,python,数据分析)