2 回答

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個贊
看起來你需要get_level_values+ map,然后使用值比較得到 df 的布爾過濾器
df[df['Filter Column'].values>=df.index.get_level_values(0).map(filter_value)]
Out[108]:
Value Filter Column
Color Count
red 2 2 1
blue 2 2 3
3 2 4

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個贊
你可以試試這個:
pd.concat(df.align(filter_value.rename('filter'), level=0, axis=0), axis=1)\
.loc[lambda x: x['Filter Column']>=x['filter']]
輸出:
Value Filter Column filter
Color Count
red 2 2 1 1
blue 2 2 3 3
3 2 4 3
添加回答
舉報