我目前有一个包含9个功能的数据框,有些功能缺少值。我执行以下操作以获取每个功能中count
个缺失值:
df.isnull().sum()
给了我:
A 0
B 0
C 15844523
D 717
E 18084
F 118679
G 0
H 978505
I 0
我想以一种很好的方式显示这些信息。我总是可以在报告中创建一个表,但还有其他方法可以在一个图中显示它吗?
答案 0 :(得分:2)
您可以使用竖线显示缺失值的计数。
使用pandas.DataFrame.plot()方法:
df.isnull().sum().plot(kind='bar')
对于更多花哨的图,您可以使用python库 plot.ly
答案 1 :(得分:2)
我认为您可以numpy.log
使用Series.plot.bar
:
nil
另一种解决方案是按cut
将数据分类到容器,然后使用Series.plot.bar
:
import matplotlib.pyplot as plt
np.log(s).plot.bar()
plt.show()
我认为它比情节列import matplotlib.pyplot as plt
#convert Series to one column df with column name 'name'
df = s.rename('name').to_frame()
bins = [-1,1, 10, 100, 1000,10000,100000,1000000,10000000, 100000000,np.Inf]
labels=[0,1,2,3,4,5,6,7,8,9]
df['label'] = pd.cut(df['name'], bins=bins, labels=labels)
print (df.label)
A 0
B 0
C 8
D 3
E 5
F 6
G 0
H 6
I 0
Name: label, dtype: category
Categories (10, int64): [0 < 1 < 2 < 3 ... 6 < 7 < 8 < 9]
df.label.astype(int).plot.bar()
plt.show()
更好:
name
答案 2 :(得分:1)
您可以使用missingno库进行出色的可视化:
import missingno as msno
msno.matrix(df)
msno.bar(df)
msno.heatmap(df)