使用Python 3删除数据帧中多个指定列中具有空值的特定行

使用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],

我有一个包含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],
                   '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