如何使用Python高效移除包含空值的特定列的行?

2026-05-22 04:591阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计841个文字,预计阅读时间需要4分钟。

如何使用Python高效移除包含空值的特定列的行?

1. 摘要:`dropna()`方法,用于查找并删除DataFrame中的空值(缺失值),返回处理后的DataFrame。

2.函数详解:`dropna()`函数格式:`dropna(axis=0, how='any', thresh=None, subset=None)`。

- `axis=0`:默认值,表示按行操作。 - `how='any'`:默认值,表示任何空值都会被删除。 - `thresh=None`:指定至少需要有多少非空值才能保留行或列。 - `subset=None`:指定要检查的列。

1.摘要

dropna()方法,能够找到DataFrame类型数据的空值(缺失值),将空值所在的行/列删除后,将新的DataFrame作为返回值返回。

2.函数详解

函数形式:dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

参数:

axis:轴。0或'index',表示按行删除;1或'columns',表示按列删除。

how:筛选方式。‘any',表示该行/列只要有一个以上的空值,就删除该行/列;‘all',表示该行/列全部都为空值,就删除该行/列。

thresh:非空元素最低数量。int型,默认为None。如果该行/列中,非空元素数量小于这个值,就删除该行/列。

subset:子集。列表,元素为行或者列的索引。如果axis=0或者‘index',subset中元素为列的索引;如果axis=1或者‘column',subset中元素为行的索引。由subset限制的子区域,是判断是否删除该行/列的条件判断区域。

inplace:是否原地替换。布尔值,默认为False。如果为True,则在原DataFrame上进行操作,返回值为None。

3.示例

创建DataFrame数据:

importnumpyasnp importpandasaspd a=np.ones((11,10)) foriinrange(len(a)): a[i,:i]=np.nan d=pd.DataFrame(data=a) print(d)

按行删除:存在空值,即删除该行

#按行删除:存在空值,即删除该行 print(d.dropna(axis=0,how='any'))

按行删除:所有数据都为空值,即删除该行

#按行删除:所有数据都为空值,即删除该行 print(d.dropna(axis=0,how='all'))

按列删除:该列非空元素小于5个的,即删除该列

#按列删除:该列非空元素小于5个的,即删除该列 print(d.dropna(axis='columns',thresh=5))

设置子集:删除第0、5、6、7列都为空的行

#设置子集:删除第0、5、6、7列都为空的行 print(d.dropna(axis='index',how='all',subset=[0,5,6,7]))

如何使用Python高效移除包含空值的特定列的行?

设置子集:删除第5、6、7行存在空值的列

#设置子集:删除第5、6、7行存在空值的列 print(d.dropna(axis=1,how='any',subset=[5,6,7]))

原地修改

#原地修改 print(d.dropna(axis=0,how='any',inplace=True)) print("==============================") print(d)

实例扩展:

代码实现

import pandas as pd data = pd.read_excel('test.xlsx',sheet_name='Sheet1') datanota = data[data['销售人员'].notna()] print(datanota)

输出结果

D:\Python\Anaconda\python.exe D:/Python/test/EASdeal/test.py
城市 销售金额 销售人员
0 北京 10000 张丽丽
1 上海 50000 潇潇
2 深圳 60000 笨笨笨
3 成都 40000 达达

Process finished with exit code 0

到此这篇关于python如何删除列为空的行的文章就介绍到这了,更多相关python删除列为空的行方法内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

本文共计841个文字,预计阅读时间需要4分钟。

如何使用Python高效移除包含空值的特定列的行?

1. 摘要:`dropna()`方法,用于查找并删除DataFrame中的空值(缺失值),返回处理后的DataFrame。

2.函数详解:`dropna()`函数格式:`dropna(axis=0, how='any', thresh=None, subset=None)`。

- `axis=0`:默认值,表示按行操作。 - `how='any'`:默认值,表示任何空值都会被删除。 - `thresh=None`:指定至少需要有多少非空值才能保留行或列。 - `subset=None`:指定要检查的列。

1.摘要

dropna()方法,能够找到DataFrame类型数据的空值(缺失值),将空值所在的行/列删除后,将新的DataFrame作为返回值返回。

2.函数详解

函数形式:dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

参数:

axis:轴。0或'index',表示按行删除;1或'columns',表示按列删除。

how:筛选方式。‘any',表示该行/列只要有一个以上的空值,就删除该行/列;‘all',表示该行/列全部都为空值,就删除该行/列。

thresh:非空元素最低数量。int型,默认为None。如果该行/列中,非空元素数量小于这个值,就删除该行/列。

subset:子集。列表,元素为行或者列的索引。如果axis=0或者‘index',subset中元素为列的索引;如果axis=1或者‘column',subset中元素为行的索引。由subset限制的子区域,是判断是否删除该行/列的条件判断区域。

inplace:是否原地替换。布尔值,默认为False。如果为True,则在原DataFrame上进行操作,返回值为None。

3.示例

创建DataFrame数据:

importnumpyasnp importpandasaspd a=np.ones((11,10)) foriinrange(len(a)): a[i,:i]=np.nan d=pd.DataFrame(data=a) print(d)

按行删除:存在空值,即删除该行

#按行删除:存在空值,即删除该行 print(d.dropna(axis=0,how='any'))

按行删除:所有数据都为空值,即删除该行

#按行删除:所有数据都为空值,即删除该行 print(d.dropna(axis=0,how='all'))

按列删除:该列非空元素小于5个的,即删除该列

#按列删除:该列非空元素小于5个的,即删除该列 print(d.dropna(axis='columns',thresh=5))

设置子集:删除第0、5、6、7列都为空的行

#设置子集:删除第0、5、6、7列都为空的行 print(d.dropna(axis='index',how='all',subset=[0,5,6,7]))

如何使用Python高效移除包含空值的特定列的行?

设置子集:删除第5、6、7行存在空值的列

#设置子集:删除第5、6、7行存在空值的列 print(d.dropna(axis=1,how='any',subset=[5,6,7]))

原地修改

#原地修改 print(d.dropna(axis=0,how='any',inplace=True)) print("==============================") print(d)

实例扩展:

代码实现

import pandas as pd data = pd.read_excel('test.xlsx',sheet_name='Sheet1') datanota = data[data['销售人员'].notna()] print(datanota)

输出结果

D:\Python\Anaconda\python.exe D:/Python/test/EASdeal/test.py
城市 销售金额 销售人员
0 北京 10000 张丽丽
1 上海 50000 潇潇
2 深圳 60000 笨笨笨
3 成都 40000 达达

Process finished with exit code 0

到此这篇关于python如何删除列为空的行的文章就介绍到这了,更多相关python删除列为空的行方法内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!