python:最好的方式传达缺失值计数

时间:2016-09-22 17:00:39

标签: python python-2.7 pandas visualization data-visualization

我目前有一个包含9个功能的数据框,有些功能缺少值。我执行以下操作以获取每个功能中count个缺失值:

df.isnull().sum()

给了我:

A           0
B           0
C    15844523
D         717
E       18084
F      118679
G           0
H      978505
I           0

我想以一种很好的方式显示这些信息。我总是可以在报告中创建一个表,但还有其他方法可以在一个图中显示它吗?

3 个答案:

答案 0 :(得分:2)

您可以使用竖线显示缺失值的计数。

使用pandas.DataFrame.plot()方法:

df.isnull().sum().plot(kind='bar')

对于更多花哨的图,您可以使用python库 plot.ly

答案 1 :(得分:2)

我认为您可以numpy.log使用Series.plot.bar

nil

log

另一种解决方案是按cut将数据分类到容器,然后使用Series.plot.bar

import matplotlib.pyplot as plt

np.log(s).plot.bar()
plt.show()

binned graph

我认为它比情节列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

orig

答案 2 :(得分:1)

您可以使用missingno库进行出色的可视化:

 import missingno as msno 

 msno.matrix(df)
 msno.bar(df)
 msno.heatmap(df)

看看我们能多么容易地找到数据稀疏! enter image description here