如何为某个列值过滤 pandas DataFrame 并且仅过滤 return 没有 NAN 的列?

How to filter a pandas DataFrame for a certain column value and only return columns that do not have NAN?

示例数据:

In [42]:    
data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'], 'year': [2000, 2001, 2002, 2001, 2002],
'pop': [1.5, 1.7, 3.6, 2.4, 2.9]}
pd.DataFrame(data, columns=['year', 'state', 'pop', 'debt'])

Out[42]:
year    state   pop debt
0   2000    Ohio    1.5 NaN
1   2001    Ohio    1.7 NaN
2   2002    Ohio    3.6 NaN
3   2001    Nevada  2.4 NaN
4   2002    Nevada  2.9 NaN

我想过滤并获取特定年份(比如 2001 年)的 DataFrame,并忽略以 NaN 作为值的列,而且我不知道所有列的名称。在上述情况下,我想

Out[43]:
year    state   pop
1   2001    Ohio    1.7
3   2001    Nevada  2.4
dt[dt['year']==2001].dropna(axis=1)