DataFrame根据多列是否相同合并其他列

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

猜你喜欢

转载自blog.csdn.net/weixin_45606831/article/details/127198347