首页 > 解决方案 > 选择多个标准

问题描述

我制作了这个数据框,其中包含作为 datetime64 值的日期。我想做的是一个有点愚蠢的例子,但它说明了我在多个标准上进行选择的观点。

我想:对于 2018 年:绘制一个按月分组的条形图,其中包含不同的值。所以我想为 2018 年创建一个图表,在 x 轴上显示 12 乘以 3 条。

我希望有人知道这是如何工作的。

先感谢您

import pandas as pd
import numpy as np
import random

date_expected = np.arange('2006-01', '2008-06', dtype= 'datetime64[D]')
cat = ['True','False', 'Maybe']

value = [random.choice(cat) for i in range(len(date_expected))]

data = {'Date_expected': date_expected,  'Value': value }

df = pd.DataFrame(data)
print(df)

标签: pythonpandasplot

解决方案


首先,创建一个包含月份的列。然后,按月和值分组并获取计数。您需要取消堆叠以获得每个值的一列计数,以便您可以绘制条形图。

df['month'] = df['Date_expected'].apply(lambda x: x.month)
df.groupby(['month', 'Value']).count().unstack().plot(kind='bar')

结果


推荐阅读