pandas :删除所有列中的所有NaN值

Pandas: Remove all NaN values in all columns( pandas :删除所有列中的所有NaN值)

本文介绍了 pandas :删除所有列中的所有NaN值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含许多空记录的数据框:

Col_1    Col_2      Col_3
10         5          2
22         7          7
3         9          5       
4         NaN       NaN
5         NaN       NaN
6         4         NaN
7         6          7
8         10        NaN
12        NaN        1
我希望删除列的所有行中的所有NaN值。如您所见,每列具有不同的行数。所以,我想要这样的东西:
Col_1    Col_2      Col_3
10         5          2
22         7          7
3          9          5       
4          4          7
6          6          1
7         10          
8                 
12    

我试过

filtered_df = df.dropna(how='any')

但它会删除数据帧中的所有记录。我可以如何做到这一点?

推荐答案

如您所见,每列的行数不同。

DataFrame是一种表格数据结构:您可以查找索引和列,并找到值。如果每列的行数不同,那么索引就没有意义并且具有误导性。Adict可能是更好的替代方案:

{c: df[c].dropna().values for c in df.columns}

{c: list(df[c]) for c in df.columns}

这篇关于 pandas :删除所有列中的所有NaN值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:pandas :删除所有列中的所有NaN值

基础教程推荐