Ian*_*ndo 11 python count nan dataframe pandas
我试图计算使用此代码在数据帧的列中出现NaN的次数:
count = enron_df.loc['salary'].count('NaN')
Run Code Online (Sandbox Code Playgroud)
但每次我运行这个我得到以下错误:
KeyError: 'Level NaN must be same as name (None)'
Run Code Online (Sandbox Code Playgroud)
我在网上搜索了很多试图寻找解决方案,但无济于事.
jez*_*ael 13
如果NaNs 缺少值:
enron_df = pd.DataFrame({'salary':[np.nan, np.nan, 1, 5, 7]})
print (enron_df)
salary
0 NaN
1 NaN
2 1.0
3 5.0
4 7.0
count = enron_df['salary'].isna().sum()
#alternative
#count = enron_df['salary'].isnull().sum()
print (count)
2
Run Code Online (Sandbox Code Playgroud)
如果NaNs是strings:
enron_df = pd.DataFrame({'salary':['NaN', 'NaN', 1, 5, 'NaN']})
print (enron_df)
salary
0 NaN
1 NaN
2 1
3 5
4 NaN
count = enron_df['salary'].eq('NaN').sum()
#alternative
#count = (enron_df['salary'] == 'NaN').sum()
print (count)
3
Run Code Online (Sandbox Code Playgroud)
根据定义,count省略NaNs而size不是.
因此,应该做一个简单的区别
count = enron_df['salary'].size - enron_df['salary'].count()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6835 次 |
| 最近记录: |