从布尔字段绘制条形图:

时间:2017-01-23 07:48:49

标签: pandas matplotlib seaborn

我有三个布尔字段,其计数如下所示:

enter image description here

我想画一张有

的条形图

Offline_RetentionByTime with 37528

Offline_RetentionByCount with 29640

Offline_RetentionByCapacity 3362

如何实现?

1 个答案:

答案 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()

graph

如果需要仅按True选择loc值:

df1.loc[True].plot.bar()

graph