当我不知道我的字段是索引级别还是列时,按索引级别或列进行筛选

2024-04-25 17:49:05 发布

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

我有一个具有多个索引级别和多个列的数据框架。我知道有一个字段是索引级别的名称或列的名称,但我不知道是哪个字段。我希望在此字段上筛选我的数据帧。如果字段是一个索引级别,我会执行df[df.index.get_level_values(field) == 0],如果它是一个列,我会执行df[df[field] == 0],但是因为我不知道它是哪个,我被卡住了。是否有一种方法可以让pandas确定字段名是在索引中还是在列中,并根据需要获取索引/序列

我知道我可以重置索引,然后将其设置回原位,但是如果不是所有的索引级别都被命名,那么这看起来很愚蠢,并且可能会有问题


Tags: 数据方法名称框架fieldpandasdfget
1条回答
网友
1楼 · 发布于 2024-04-25 17:49:05

既然您提到它是列或索引标签,请尝试:

if field in list(df.columns):
   #do df[df[field] == 0]
else:
   #do df[df.index.get_level_values(field) == 0]

相关问题 更多 >