gpt4 book ai didi

python - 从多索引数据框中选择列,例如制作直方图

转载 作者:行者123 更新时间:2023-12-01 07:43:55 25 4
gpt4 key购买 nike

这是我第一次使用多索引数据帧。我有一个看起来像这样的数据框(小例子):

import random
col3=[0,0,0,0,2,4,6,0,0,0,100,200,300,400]
col4=[0,0,0,0,4,6,8,0,0,0,200,900,400, 500]

d = {'Unit': [1, 1, 1, 1, 2, 2, 2, 3, 4, 5, 6, 6, 6, 6],
'Year': [2014, 2015, 2016, 2017, 2015, 2016, 2017, 2017, 2014, 2015, 2014, 2015, 2016, 2017], 'col3' : col3, 'col4' : col4 }
df = pd.DataFrame(data=d)
df.groupby(['Unit', 'Year']).sum()

df = df.groupby(['Unit', 'Year']).sum()

df['mask'] = (df.groupby(level=0, group_keys=False)
.apply(lambda x: x.col3/x.col4.shift()))

df['mask'] = df['mask'].fillna(0)

现在我想根据掩码列中的值制作一个直方图,这是否可以在不先制作列表的情况下实现?

我是这样做的:

values = [x for x in df['mask']]
plt.hist(values)

但我希望最好不要中间列表步骤。

谢谢,

最佳答案

这里不需要列表理解,只需将 Series 传递给 plot:

plt.hist(df['mask'])

或者使用Series.plot.hist :

df['mask'].plot.hist()

关于python - 从多索引数据框中选择列,例如制作直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56560034/

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