Python 熊猫中具有NaN值的子集列

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

在这里搜索并尝试了几个答案,但它们都是用于返回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  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