我有一个看起来像这样的数据集:
store itemId numberOfItemsSold
Berlin 1 78
Amsterdam 3 12
Berlin 2 31
Amsterdam 1 12
Berlin 1 90
我想创建一个数据集或字典,这样我就可以积累关于每个不同商店售出多少件商品的信息。例如,在柏林,itemId=1的商品售出了78+90件。然后,售出了31件商品,其中itemId=2。
如何为每个不同的产品(itemId(提取每个商店的此类信息?
您可以使用groupby((来完成此操作,这将提供一个DataFrame:
summary_df = df.groupby(['store', 'itemId']).sum()
如果你想要一本字典:
summary_dict = dict(zip(summary_df.index, summary_df.numberOfItemsSold))
pd.DataSet.groupby()
适用于您吗?
pd.DataFrame(
[["Berlin", 1, 78],
["Amsterdam",3, 12],
["Berlin",2, 31],
["Amsterdam", 1,12],
["Berlin", 1, 90]],
columns=["store", "itemId", "numberOfItemsSold"]).groupby(['store', 'itemId']).sum().reset_index()
输出:
store itemId numberOfItemsSold
0 Amsterdam 1 12
1 Amsterdam 3 12
2 Berlin 1 168
3 Berlin 2 31