Java教程

Pandas中缺失值/NaN值/空值的处理

本文主要是介绍Pandas中缺失值/NaN值/空值的处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

isna()

释义

筛选为NaN的布尔值,可接受单个标量或者数组

举例

筛选stu_name为NaN的所有行:

df = pd.DataFrame({'stu_name': ['Tom', 'Tony', 'Jack', 'Jack', np.nan], 'stu_age': [16, 16, 15, np.nan, 21]})
print(df)
df1 = df[df['stu_name'].isna()]
print(df1)




fillna()

释义

对NaN值进行填充,官方文档

常用参数

  • value:用来填充的值,只能为标量/dict/Series/DataFrame
  • method:填充的方式
    • backfill/bfill:用后一个非NaN值填充本NaN值
    • pad/ffill:用前一个非NaN值来填充本Nan值
    • None:用value参数指定的值来填充(默认方式)
  • inplace:是否修改原对象

举例

  1. 把所有的NaN填充为横杠-
df = pd.DataFrame({'stu_name': ['Tom', 'Tony', 'Jack', 'Jack', np.nan], 'stu_age': [16, 16, 15, np.nan, 21]})
print(df)
df1 = df.fillna('-')
print(df1)
  1. stu_name为NaN的填充为UNKNOWNstu_age为NaN的填充为-1
df = pd.DataFrame({'stu_name': ['Tom', 'Tony', 'Jack', 'Jack', np.nan], 'stu_age': [16, 16, 15, np.nan, 21]})
print(df)
df2 = df.fillna({'stu_name': 'UNKNOWN', 'stu_age': -1})
print(df2)


这篇关于Pandas中缺失值/NaN值/空值的处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!