Python 从df.isnull().sum()中删除非零字段

Python 从df.isnull().sum()中删除非零字段,python,pandas,dataframe,Python,Pandas,Dataframe,我正在使用df.isnull().sum()获取数据帧中NaN值的计数 是否有办法只显示非零的值计数(即,如果列有0个NaN,则不显示在值计数中) 这就是结果,我想删除0值 Job ID 0 Agency 0 Posting Type 0 # Of Positions 0 Business Ti

我正在使用
df.isnull().sum()
获取数据帧中
NaN
值的计数

是否有办法只显示非零的值计数(即,如果列有0个NaN,则不显示在值计数中)

这就是结果,我想删除0值

Job ID                              0
Agency                              0
Posting Type                        0
# Of Positions                      0
Business Title                      0
Civil Service Title                 0
Title Code No                       0
Level                               0
Job Category                        2
Full-Time/Part-Time indicator     261
Salary Range From                   0
Salary Range To                     0
Salary Frequency                    0
Work Location                       0
Division/Work Unit                  0
Job Description                     0
Minimum Qual Requirements          14
Preferred Skills                  377
Additional Information           1177
To Apply                            1
Hours/Shift                      2123
Work Location 1                  1719
Recruitment Contact              3116
Residency Requirement               0
Posting Date                        0
Post Until                       2214
Posting Updated                     0
Process Date                        0
qualifications                   3092
requir                             14
requir1                            14

您可以将显示为
nullseries
的序列存储起来,然后对其进行筛选。例如

nullseries = df.isnull().sum()
print(nullseries[nullseries > 0])
如果需要删除所有行,请重新指定

nullseries = nullseries[nullseries > 0]
下面是一个简短的工作示例:

In [46]: df = pd.DataFrame([[np.NaN, 1], [2, 3], [np.NaN, 4]], columns=['x', 'y'])

In [47]: nullseries = df.isnull().sum()

In [48]: nullseries[nullseries > 0]
Out[48]:
x    2
dtype: int64

可能不是最有效的解决方案,但也有效:

df = pd.DataFrame({'a': [1,2,np.nan], 'b': [3,4,5]}

df.isnull().sum().to_frame(name='counts').query('counts > 0')
屈服

   counts
a       1