根据标题,这是一个可重现的示例:
raw_data = {'x': ['this', 'that', 'this', 'that', 'this'],
np.nan: [np.nan, np.nan, np.nan, np.nan, np.nan],
'y': [np.nan, np.nan, np.nan, np.nan, np.nan],
np.nan: [np.nan, np.nan, np.nan, np.nan, np.nan]}
df = pd.DataFrame(raw_data, columns = ['x', np.nan, 'y', np.nan])
df
x NaN y NaN
0 this NaN NaN NaN
1 that NaN NaN NaN
2 this NaN NaN NaN
3 that NaN NaN NaN
4 this NaN NaN NaN
目的是仅删除具有以下内容的列nan
作为列名称(因此保留列y
). dropna()
不起作用,因为它的条件nan
values in列,不是nan
作为列名称。
df.drop(np.nan, axis=1, inplace=True)
如果数据中只有一列,则有效nan
作为列名,但不包含多个列nan
作为列名称,如我的数据中所示。
那么如何删除列名所在的多个列nan
?