对多列中的非na值进行Pandas数据框过滤器



我有大约4列,需要保持的行,其中至少一列有值除了ID列

第一列是ID列,不为空

<表类> ID 列一个 列B 列C tbody><<tr>01199222025003号042005

下次提供一个可复制的例子。

df = pd.DataFrame({'ID' : [1,2,3,4],
'column A':[2,np.nan,2,np.nan],
'column B':[3,np.nan,np.nan,2],
'column C':[np.nan,np.nan,np.nan,np.nan]})
df = df.dropna(axis=0, how='all', subset=list(df.columns[df.columns != 'ID']))

axis=0: rows

how='all':完全nan

subset=:指定要在哪个列上应用它

您应该检查文档:pandas.dropna

df.dropna(how='all')
>>> import pandas as pd
>>> df = pd.DataFrame([['','',''],[11,'',''],['','',22],['','','']])
>>> df
0 1   2
0          
1  11      
2        22
3          
>>> df.loc[[any(row) for row in df.values]]
0 1   2
1  11      
2        22

最新更新