我有一个大小为(3,100)的数据帧,其中填充了一些随机浮点值。 以下是数据框如何显示的示例
A B C
4.394966 0.580573 2.293824
3.136197 2.227557 1.306508
4.010782 0.062342 3.629226
2.687100 1.050942 3.143727
1.280550 3.328417 2.247764
4.417837 3.236766 2.970697
1.036879 1.477697 4.029579
2.759076 4.753388 3.222587
1.989020 4.161404 1.073335
1.054660 1.427896 2.066219
0.301078 2.763342 4.166691
2.323838 0.791260 0.050898
3.544557 3.715050 4.196454
0.128322 3.803740 2.117179
0.549832 1.597547 4.288621
这就是我创建它的方式
df = pd.DataFrame(np.random.uniform(0,5,size=(100, 3)), columns=list('ABC'))
注意:pd是pandas
我想绘制一个条形图,它在x轴上有三个段,每个段有2个条。一个将显示小于2的值的数量,而大于等于2的值。
因此,在x轴上,A列附有两个条,一个总数小于2,一个大于等于2,B和C相同
有人可以提出任何建议吗?
我正在考虑使用seaborn
并设置色调值来区分两个类(小于2且大于等于2),但是再次hue属性仅适用于分类值,我只能在x轴上设置一列属性。
任何提示都将不胜感激。
答案 0 :(得分:1)
您必须使用过滤器然后对其进行计数,然后您必须使用plot(kind='bar')
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.uniform(0,5,size=(100, 3)), columns=list('ABC'))
dfout = pd.DataFrame({'minor' : df[df<= 2].count(),
'major' : df[df > 2].count() })
dfout.plot(kind='bar')
plt.show()