文章目录
构建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结构
把相同公司的行合并成一行
print(df.groupby(['公司']).agg({ '水果': [', '.join], '数量': lambda x: list(x),
'重量': lambda x: list(x)}).reset_index())
效果
代码汇总
# 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())