您需要
loc,因为按列过滤:
print (df.notnull().any(axis = 0))a Trueb Truec Trued Falsedtype: booldf = df.loc[:, df.notnull().any(axis = 0)]print (df) a b c0 1.0 4.0 NaN1 2.0 NaN 8.02 NaN 6.0 9.03 NaN NaN NaN
或过滤列,然后按
[]:
print (df.columns[df.notnull().any(axis = 0)])Index(['a', 'b', 'c'], dtype='object')df = df[df.columns[df.notnull().any(axis = 0)]]print (df) a b c0 1.0 4.0 NaN1 2.0 NaN 8.02 NaN 6.0 9.03 NaN NaN NaN
或
dropna使用参数
how='all'删除
NaN仅由s填充的所有列:
print (df.dropna(axis=1, how='all')) a b c0 1.0 4.0 NaN1 2.0 NaN 8.02 NaN 6.0 9.03 NaN NaN NaN
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)