我有三个布尔字段,其计数如下所示:
我想画一张有
的条形图Offline_RetentionByTime with 37528
Offline_RetentionByCount with 29640
Offline_RetentionByCapacity 3362
如何实现?
答案 0 :(得分:3)
我认为您可以使用apply
value_counts
创建新的df1
,然后DataFrame.plot.bar
:
df = pd.DataFrame({'Offline_RetentionByTime':[True,False,True, False],
'Offline_RetentionByCount':[True,False,False,True],
'Offline_RetentionByCapacity':[True,True,True, False]})
print (df)
Offline_RetentionByCapacity Offline_RetentionByCount Offline_RetentionByTime
0 True True True
1 True False False
2 True False True
3 False True False
df1 = df.apply(pd.value_counts)
print (df1)
Offline_RetentionByCapacity Offline_RetentionByCount \
True 3 2
False 1 2
Offline_RetentionByTime
True 2
False 2
df1.plot.bar()
如果需要仅按True
选择loc
值:
df1.loc[True].plot.bar()