【发布时间】:2021-12-14 08:51:15
【问题描述】:
我对 pandas 数据框有点陌生,目前正试图通过各州对我的数据框的总销售额来获得最高的总销售额。 该数据框是关于几年来美国商店的销售情况。我想知道哪个州售出的物品最多,然后哪个州售出最多,但按物品的价值,以美元为单位。
这是数据框的链接:https://raw.githubusercontent.com/michalis0/DataMining_and_MachineLearning/master/data/sales.csv
这是我的代码:
# Load the data
df=pd.read_csv('https://raw.githubusercontent.com/michalis0/DataMining_and_MachineLearning/master/data/sales.csv')
# Highest demand by number of items
df["State"].value_counts()[:50]
#Highest demand by aggregated sales
df.groupby(["Customer ID","State"])["Sales"].sum()
AggSales = df.groupby("State", as_index=False)["Sales"].count()
AggSales.sort_values(by=['Sales'], inplace=True, ascending=False)
AggSales.head(50)
我的问题是,按商品数量和汇总值计算最高销售额时,我得到了相同的结果,但我不明白为什么。我尝试过以许多不同的方式进行分组或聚合,但总是得到相同的结果,而且我似乎看不出哪里出错了。
【问题讨论】:
-
你使用
count(),而不是在group by中使用sum()。
标签: python pandas dataframe data-mining