使用iloc的索引器太多了

时间:2018-05-08 18:48:48

标签: python-3.x pandas dataframe

我有一个看起来像这样的数据框(df) enter image description here

我想在1950年到1952年期间获得第1周到第3周的销售。我可以通过使用以下代码来实现这一目标

idx = pd.IndexSlice
df.loc[:,idx[:,1950:1952,'Week1':'Week3']]

结果: enter image description here

但是当我试图通过iloc做到这一点时,我得到的索引器错误太多了。我正在使用此代码:

df.iloc[:,idx[:,:4,:4]]

为什么iloc失败但是为loc工作?

下面是我的数据框的列值。

df.columns
MultiIndex(levels=[['Sale'], [1950, 1951, 1952, 1953], ['Week1', 'Week2', 'Week3', 'Week4']],
       labels=[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3], [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]],
       names=[None, 'Year', 'Week'])

0 个答案:

没有答案