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数据:

import numpy as np
import pandas as pd

a = np.ones((11,10))
for i in range(len(a)):
    a[i,:i] = np.nan
    
d = pd.DataFrame(data=a)
print(d)

python如何删除列为空的行

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

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

python如何删除列为空的行

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

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

python如何删除列为空的行

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

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

python如何删除列为空的行

设置子集:删除第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]))

python如何删除列为空的行

原地修改

python如何删除列为空的行

# 原地修改
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,删除行

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“python如何删除列为空的行”
暂无“python如何删除列为空的行”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。