使用Python 3删除数据帧中多个指定列中具有空值的特定行
我有一个包含23列和71k行的大型数据集,我想删除多个给定列中具有空值的行 假设我们有a、b、c、d、e、f、g列,我想根据条件删除这些行: 列a、b、c、d中的值为空,因此将对多列条件使用&或“and” 由于数据集很大,索引没有多大帮助,所以我需要一些循环来完成这项任务,并为我过滤掉数据 与使用Python 3删除数据帧中多个指定列中具有空值的特定行,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个包含23列和71k行的大型数据集,我想删除多个给定列中具有空值的行 假设我们有a、b、c、d、e、f、g列,我想根据条件删除这些行: 列a、b、c、d中的值为空,因此将对多列条件使用&或“and” 由于数据集很大,索引没有多大帮助,所以我需要一些循环来完成这项任务,并为我过滤掉数据 与子集和如何参数一起使用: import pandas as pd, numpy as np df = pd.DataFrame({'a': [np.nan, 1, 2, 3],
子集
和如何
参数一起使用:
import pandas as pd, numpy as np
df = pd.DataFrame({'a': [np.nan, 1, 2, 3],
'b': [np.nan, np.nan, 2, 3],
'c': [np.nan, 5, 6, 7],
'd': [np.nan, 8, 9, 10],
'e': [11, 11, 12, 13],
'f': [14, 14, 15, 16]})
df2 = df.dropna(subset=['a', 'b', 'c', 'd'], how='any')
# a b c d e f
# 2 2 2 6 9 12 15
# 3 3 3 7 10 13 16
df3 = df.dropna(subset=['a', 'b', 'c', 'd'], how='all')
# a b c d e f
# 1 1 NaN 5 8 11 14
# 2 2 2 6 9 12 15
# 3 3 3 7 10 13 16