Pandas multiindex数据帧选择数据

时间:2017-05-12 14:12:36

标签: python pandas dataframe

鉴于以下数据框,
有没有办法检索开始值> = 20000和停止值< = 40000的列? 其中start和stop是列的名称(而不是值)。

Multi-index dataframe

1 个答案:

答案 0 :(得分:5)

我认为您可以get_level_values + astype使用int(如有必要),使用mask创建&,最后按{{3}选择}:

mask1 = df.columns.get_level_values('start').astype(int) >= 20000
mask2 = df.columns.get_level_values('stop').astype(int) <= 40000

mask = mask1 & mask2
df = df.loc[:, mask]
print (df)