我有一个“pandas.MultiIndex.from_product
“ Dataframe ,我想从其中分割一些数据。对于这些切片,我知道(多)索引。
已知的索引不一定存在于 Dataframe 中,对于起始索引(b1),它可能较低,对于结束索引(b2),它可能较高,参见代码slice1
。
这是我的问题的一个最小的例子。
import pandas as pd
ind = pd.MultiIndex.from_product([range(3), range(3)], names=["a", "b"])
df = pd.DataFrame(range(0,9999,1111), columns=["values"], index=ind)
idx = pd.IndexSlice
slice1 = df.loc[idx[0:1, 1:3],:]
slice2 = df.loc[idx[0:2, 1:0],:]
在图片中,您可以看到 Dataframe df
、slice1
和预期的slice2
。只要b1〈b2,我的代码就可以正常工作,但当b1〉b2时,如slice2
中所示,它将返回一个空 Dataframe 。
第一次
有没有办法让这个工作?顺便说一句,我看到这个职位在这里:Select rows in pandas MultiIndex DataFrame,但我不认为它回答了这个问题。
2条答案
按热度按时间xtfmy6hx1#
回答我自己的问题。我试过太复杂的方法,这就是答案:
dluptydi2#
更短: