df = pd.DataFrame(data=[['A', 'B', 12], ['A', 'B', 143], ['C1', 'C1', 11], ['C1', 'C1', 11],['C1', 'C1', 11], ['C3', 'C4', 11]], columns=['first', 'secound', 'data'])
df.set_index(['first', 'secound'], inplace=True)
data
first secound
A B 12
B 143
C1 C1 11
C1 11
C1 11
C3 C4 11
我想获取first
索引级别中前两个索引值的所有数据。
期望的结果是:
data
first secound
A B 12
B 143
C1 C1 11
C1 11
C1 11
由于
答案 0 :(得分:1)
你是说这个吗?
In [9]: df.loc[df.index.get_level_values(0).unique()[:2].tolist()]
Out[9]:
data
first secound
A B 12
B 143
C1 C1 11
C1 11
C1 11
答案 1 :(得分:0)
你可以这样做
ix = df.index.levels[0].tolist()[:2]
df.loc[ix, :]
答案 2 :(得分:-1)
你可以这样做:
df = df.drop('C3', level='first')
输出:
data
first secound
A B 12
B 143
C1 C1 11
C1 11
C1 11