gpt4 book ai didi

python - 从数据框python中的特定位置删除具有缺失值的行

转载 作者:行者123 更新时间:2023-11-28 20:12:31 24 4
gpt4 key购买 nike

好人,仍在学习 python。现在我有一个非常庞大的数据框,大约有 100 万行,但是我做了什么来删除某些列位置缺少值的行。我的意思是在从特定列中找到缺失值的行后,我应该能够删除整行。查看示例数据框:

import pandas as pd 

data = {'A':['NW', 'NB', 'UK', 'CAN'],'B':['Tom', 'nick', 'krish', 'jack'], 'C':[20, '', 19, ''],'D':[20, '', 19, ''],'E':[20, '', 19, ''],'F':[20, '', 19, '']}
df = pd.DataFrame(data)
print(df)

在此数据框中,我想识别从C 列到 F 列 具有缺失值的行,然后删除整行,这意味着我必须删除第 1 行和第 3 行。我已经试过了,但没有用:

df.dropna(subset=['C','D','E','F'], how='all', inplace = True)

EXPECTED OUTPUT 应该是这样的表格

import pandas as pd 

data = {'A':['NW', 'UK'],'B':['Tom', 'krish'], 'C':[20, 19],'D':[20, 19 ],'E':[20, 19 ],'F':[20, 19]}
df = pd.DataFrame(data)
print(df)

最佳答案

pandas.DataFrame.mask

  • 使用mask 使数据框在条件为True 的任何地方为空
  • 然后使用 dropnasubset 参数

这不是使用 zipa 和 jezrael 提到的 replace。与其他方法相比,使用它没有任何优势。我只是喜欢使用 mask。它还为社区提供了另一种完成任务的方法。


df.mask(df.eq('')).dropna(subset=['C', 'D', 'E', 'F'])

A B C D E F
0 NW Tom 20 20 20 20
2 UK krish 19 19 19 19

关于python - 从数据框python中的特定位置删除具有缺失值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58378302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com