如何从datafram中删除多索引级别等于NaN(无值)的列

2024-10-06 10:25:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从带有Multiindex的dataframe中删除列,对于某些列,我的levels等于NaN(null)。我试图使用dropna(),但它只适用于我假设的行: enter image description here

数据帧称为“测试” 当我这样做时,test.dropna()不工作。我有15个级别的ID:

names=['ID14', 'ID13', 'ID12', 'ID11', 'ID10', 'ID9', 'ID8', 'ID7', 'ID6', 'ID5', 'ID4', 'ID3', 'ID2', 'ID1', 'ID0'])

您有什么建议,如何指示删除Multiindex(全部15个级别)中带有空值的整列以及相应的行?在

提前谢谢你!(我是初学者)


Tags: 数据testiddataframenamesnan级别null
2条回答

谢谢大家!现在,我没有找到更好的方法,而不仅仅是转置我的数据帧,也不删除索引中的NaN行。。。但它奏效了:

test_transposed = test.T
old_idx = test_transposed.index.names
my_new_df = test_transposed.reset_index().dropna().set_index(old_idx)
new_dataset = my_new_df.T

尝试重置索引,然后按如下方式重新索引:

old_idx = df.index.names
my_new_df = df.reset_index().dropna().set_index(old_idx)

这应该能解决问题,希望能有所帮助。在

相关问题 更多 >