Python 熊猫中具有NaN值的子集列
在这里搜索并尝试了几个答案,但它们都是用于返回NaN的行。我只想返回带有NaN值的列。例如,下面的df。如何选择列“A”和“LG”Python 熊猫中具有NaN值的子集列,python,pandas,Python,Pandas,在这里搜索并尝试了几个答案,但它们都是用于返回NaN的行。我只想返回带有NaN值的列。例如,下面的df。如何选择列“A”和“LG” df = pd.DataFrame( {'H': ['a','b', 'c'], 'A': [np.nan,'d', 'e'], 'LG':['AR1', 'RO1', np.nan], }) print(df) A H LG 0 NaN a AR1 1 d b
df = pd.DataFrame(
{'H': ['a','b', 'c'],
'A': [np.nan,'d', 'e'],
'LG':['AR1', 'RO1', np.nan],
})
print(df)
A H LG
0 NaN a AR1
1 d b RO1
2 e c NaN
我认为您需要首先将示例中的字符串
NaN
替换为np.NaN
:
df = pd.DataFrame(
{'H': ['a','b', 'c'],
'A': [np.nan,'d', 'e'],
'LG':['AR1', 'RO1', np.nan],
})
然后通过和检查:
上次将布尔索引与索引一起使用时:
print (mask.index[mask])
Index(['A', 'LG'], dtype='object')
如果需要列,请添加loc
:
print (df.loc[:, mask])
A LG
0 NaN AR1
1 d RO1
2 e NaN
这将返回包含NaN
的所有列
df = pd.DataFrame(
{'H': ['a','b', 'c'],
'A': [np.nan,'d', 'e'],
'LG':['AR1', 'RO1', np.nan],
})
x = pd.isnull(df).any()
print(df[x.index[x]])
A LG
0 NaN AR1
1 d RO1
2 e Na
可能受骗者:我相信在某种程度上是这样的。我要的是一个子集,但是这个子集只返回列名很好,谢谢!我已经更新了
df = pd.DataFrame(
{'H': ['a','b', 'c'],
'A': [np.nan,'d', 'e'],
'LG':['AR1', 'RO1', np.nan],
})
x = pd.isnull(df).any()
print(df[x.index[x]])
A LG
0 NaN AR1
1 d RO1
2 e Na