Python 如何迭代DataFrame列并删除NaN值

Python 如何迭代DataFrame列并删除NaN值,python,pandas,numpy,Python,Pandas,Numpy,我有一个数据帧示例: d = {'col1': [1, 2, np.NaN], 'col2': [3, np.NaN, 4], 'col3': [np.NaN, 5, 6]} df = pd.DataFrame(data=d) 并希望以这种方式删除NaN值以获得此形状的结果数据帧 我尝试迭代列,并在每列上使用dropna()函数,但没有成功: for i in columns: df3[i].dropna() 接下来当我尝试时: df = df.dropna(subset=['c

我有一个数据帧示例:

d = {'col1': [1, 2, np.NaN], 'col2': [3, np.NaN, 4], 'col3': [np.NaN, 5, 6]}
df = pd.DataFrame(data=d)

并希望以这种方式删除NaN值以获得此形状的结果数据帧

我尝试迭代列,并在每列上使用dropna()函数,但没有成功:

for i in columns:
    df3[i].dropna()
接下来当我尝试时:

df = df.dropna(subset=['col1', 'col2','col3'])
我以df结束,所有行都被删除:


您不需要迭代。 您可以使用
dropna
命令:

df = df.dropna(subset=['col1', 'col2'])

您不需要迭代。 您可以使用
dropna
命令:

df = df.dropna(subset=['col1', 'col2'])

你可以用熊猫的“dropna”在一行中完成这项工作。不需要迭代。我在这里已经问过:


你可以用熊猫的“dropna”在一行中完成这项工作。不需要迭代。我在这里已经问过:


将此应用于他的示例并添加“col3”将删除所有行。是的,此解决方案在我添加“col3”时删除了所有行。将此应用于他的示例并添加“col3”将删除所有行。是的,此解决方案在我添加“col3”时删除了所有行。此解决方案有效。谢谢,这很有效。非常感谢。