1
篩選列我有一個多指標一個大熊貓數據幀。我想順路1
水平具有價值超過12
大於所有列的值。我能做熊貓:在一個水平
df.drop([13, 14, 15, 16, 17, 18, 19, 20], level=1, axis=1, inplace=True)
但這並不能消除大於20的值。有沒有辦法將值限制爲12?
篩選列我有一個多指標一個大熊貓數據幀。我想順路1
水平具有價值超過12
大於所有列的值。我能做熊貓:在一個水平
df.drop([13, 14, 15, 16, 17, 18, 19, 20], level=1, axis=1, inplace=True)
但這並不能消除大於20的值。有沒有辦法將值限制爲12?
使用pd.IndexSlice
df.loc[:, pd.IndexSlice[:, :12]]
考慮df
mux = pd.MultiIndex.from_product([list('ab'), range(5,30,5)])
df = pd.DataFrame([np.arange(10)], columns=mux)
print(df)
a b
5 10 15 20 25 5 10 15 20 25
0 0 1 2 3 4 5 6 7 8 9
然後
df.loc[:, pd.IndexSlice[:, :12]]
a b
5 10 5 10
0 0 1 5 6
警告
這需要df.columns
排序。您可能需要進行排序提前