DataFrame根据多列数值是否相同合并其他列
对于没怎么学过这方面知识的我,想实现这个功能真的是费了九牛二虎之力查各种资料(可能找的方式不太对,大家如果有什么推荐的学习方法或者资源,特别是csv文件数据分析相关的,欢迎留言告知,谢谢谢谢~)
下面以一个生动的例子进入正题
首先有这样一个简单的DataFrame,代码和效果如下:
import pandas as pd
df = pd.DataFrame(data=[['苹果', 5, 3],
['苹果', 5, 6],
['苹果', 7, 7],
['桃子', 2, 6],
['桃子', 2, 3]],
columns=['水果', '大小', '重量'],
index=None)
print(df)
那么问题来了,怎么合计出品类相同大小相同的水果总重量呢?(或许你会疑问这还用写程序统计吗,一眼不就看出来了吗?是的,因为这个比较简单,如果是成千上万条数据呢)
其实很简单,核心只有一行代码,look here!
for (key1, key2), group in df.groupby(['水果', '大小']):
print(group)
print(key1, key2, group['重量'].sum())
print('__________________')
over,over