我在先前的文章中找到了两个相同问题的示例,但是都没有解决Python和熊猫的情况。我是python的新手,我在挣扎。在更新本文之前,我已经取得了巨大的进步,我非常亲密。
我正在尝试汇总“日期”列中所有相同日期的“数量”中的值。当前,它们在那里,但它们没有加在一起,此外,我试图获取最后一列的值以构成一个列表。
这是我的代码以及表的外观:
df = pd.DataFrame( {'Date': ['01-01-2018', '01-01-2018','02-01-2018','03-01-2018','03-01-2018'], 'Quantity' : ['4','5','6','2','8'], 'Id':['5674','565','67433','2353','579']})
data = df.groupby(['Date','Quantity'])
result = data['Id'].unique()
print(result)
结果是:
Date Quantity
01-01-2018 4 [5674]
5 [565]
02-01-2018 6 [67433]
03-01-2018 2 [2353]
8 [579]
结果与我想要的不匹配,我不确定为什么!我很感谢有关如何进行的任何提示。谢谢!
答案 0 :(得分:1)
按Data
分组并应用以下汇总函数
Quantity
列:总和Id
列:列表df.groupby(['Date']).agg({'Quantity': sum, 'Id': list}).reset_index()
输出
Date Quantity Id
0 01-01-2018 45 [5674, 565]
1 02-01-2018 6 [67433]
2 03-01-2018 28 [2353, 579]