gpt4 book ai didi

python - pandas Group通过绘制每个组

转载 作者:太空宇宙 更新时间:2023-11-03 15:37:03 24 4
gpt4 key购买 nike

我有一些数据,我想从中提取收入的时间序列(Dollar 的总和 Day 不同地点 Where) 用于不同的产品(xy)。

import pandas as pd

#Create data
data = {'Day': [1,1,2,2,3,3],
'Where': ['A','B','A','B','B','B'],
'What': ['x','y','x','x','x','y'],
'Dollars': [100,200,100,100,100,200]}

index = range(len(data['Day']))

columns = ['Day','Where','What','Dollars']


df = pd.DataFrame(data, index=index, columns=columns)
df

ddd

为此,我按DayWhat 对数据进行分组,然后对Dollars 求和:

#Group by Day and What and sum Dollars (for each Where)
print(df.groupby(['Day', 'What'])['Dollars'].sum())

ccc

现在,我想为 xy 制作一个时间序列,如下所示:

iii

我尝试了以下方法,但显然不起作用:

items = df.What.unique()

ax = plt.figure()
for item in items:
df_tmp = df[['Day']][df.What == item]
plt.plot(df_tmp['Day'],df_tmp,'.-',label=item)

fff

有人可以帮我指明正确的方向吗?有没有更快的方法来获得正确的结果?

最佳答案

IIUC、unstack 和绘图:

(df.groupby(['Day', 'What'])['Dollars']
.sum()
.unstack('What', fill_value=0)
.plot())
plt.show()

enter image description here

关于python - pandas Group通过绘制每个组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54250254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com