python中dropna函数_【Python】Dataframe删除空值

使用dropna()函数就可以去掉dataframe中的空值。这里就直接用的官方文档里面的例子。

df = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'],

"toy": [np.nan, 'Batmobile', 'Bullwhip'],

"born": [pd.NaT, pd.Timestamp("1940-04-25"),

pd.NaT]})

df

name toy born

0 Alfred NaN NaT

1 Batman Batmobile 1940-04-25

2 Catwoman Bullwhip NaT

1. dropna()函数有一个axis参数,用来指明是删除有空值的维度(行或列)。默认的是删除行。参数的值可以为{0 or ‘index’, 1 or ‘columns’}

df.dropna()

name toy born

1 Batman Batmobile 1940-04-25

删除有空值的列。

df.dropna(axis='columns')/df.dropna(axis=1)

name

0 Alfred

1 Batman

2 Catwoman

2. dropna()函数默认(how='any')的是只要行或列出现了空值,就删除行或列。可以通过how参数设置为行或列的所有值都为空值时才删除。我们新添加一列的值全为空,然后删除。

>>> df['sex'] = [np.nan,np.nan,np.nan]

>>> df

name toy born sex

0 Alfred NaN NaT NaN

1 Batman Batmobile 1940-04-25 NaN

2 Catwoman Bullwhip NaT NaN

>>> df.dropna(how='all',axis=1)

name toy born

0 Alfred NaN NaT

1 Batman Batmobile 1940-04-25

2 Catwoman Bullwhip NaT

>>>

3. 如果想删除指定列有空值的行,可以使用subset参数。这里删除的是name和born列的值为空的行。

df.dropna(subset=['name', 'born'])

name toy born

1 Batman Batmobile 1940-04-25

4. 需要注意的是,上面的操作并没有改变df,也就是说df里面的空值并没有删除。

>>> df.dropna()

name toy born

1 Batman Batmobile 1940-04-25

>>> df

name toy born

0 Alfred NaN NaT

1 Batman Batmobile 1940-04-25

2 Catwoman Bullwhip NaT

>>>

需要将删除空值的dataframe赋值给新的变量,或者将inplcace参数赋值为true来改变原来的df(dataframe的许多函数里都有这个参数)。

>>> df2 = df.dropna()

>>> df2

name toy born

1 Batman Batmobile 1940-04-25

>>>

>>> df.dropna(inplace=True)

>>> df

name toy born

1 Batman Batmobile 1940-04-25

>>>

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pandas 是一个强大的数据分析工具,提供了很多常用的函数来处理数据,下面是一些常用的函数及其用法: 1. read_csv():读取 CSV 文件并返回一个 DataFrame 对象。 2. head():返回 DataFrame 的前几行数据,默认为前 5 行。 3. tail():返回 DataFrame 的后几行数据,默认为后 5 行。 4. info():返回 DataFrame 的基本信息,包括每列的数据类型、非空值数量等。 5. describe():返回 DataFrame 的基本统计信息,包括计数、均值、标准差、最小值、最大值等。 6. shape:返回 DataFrame 的行数和列数。 7. columns:返回 DataFrame 的列名。 8. index:返回 DataFrame 的行索引。 9. loc[]:根据行标签和列标签访问 DataFrame 的元素。 10. iloc[]:根据行索引和列索引访问 DataFrame 的元素。 11. dropna():删除 DataFrame 的缺失值。 12. fillna():用指定的值或方法填充 DataFrame 的缺失值。 13. groupby():按照指定的列对 DataFrame 进行分组。 14. apply():对 DataFrame 的每一列应用指定的函数。 15. pivot_table():根据指定的列计算 DataFrame 的透视表。 16. merge():将两个 DataFrame 按照指定的列进行合并。 17. sort_values():按照指定的列对 DataFrame 进行排序。 18. drop_duplicates():去除 DataFrame 的重复行。 19. value_counts():统计 DataFrame 每个元素出现的次数。 20. isnull():判断 DataFrame 的元素是否为空值。 这些函数覆盖了 Pandas 的很多常用操作,掌握它们对于数据分析和处理非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值