如何使用熊猫隔离每个多重索引的第一个值?

时间:2019-02-06 23:08:54

标签: python pandas python-2.7

如果我有一个这样的Pandas Dataframe:

enter image description here

如何隔离每次的第一个值,以便得到如下所示的Pandas Dataframe:enter image description here

2 个答案:

答案 0 :(得分:1)

df=df.groupby(['Time'],sort= True).max()

类似的方法将起作用并保持最大值-是否有理由要保留第一个值?

答案 1 :(得分:0)

通过否定索引的第一级重复的位置进行切片。

df[~df.index.get_level_values(0).duplicated()]

样本数据

import pandas as pd
df = pd.DataFrame({'A': list('aaabbbcccdd'), 'B': list('12345672345'),
                   'C': [1,12,13,14,15,1,16,16,17,2,23]}).set_index(['A', 'B'])

      C
A B    
a 1   1
  2  12
  3  13
b 4  14
  5  15
  6   1
c 7  16
  2  16
  3  17
d 4   2
  5  23

df[~df.index.get_level_values(0).duplicated()]

      C
A B    
a 1   1
b 4  14
c 7  16
d 4   2