Pandas 熊猫展平复杂的多级列数据帧

Pandas 熊猫展平复杂的多级列数据帧,pandas,Pandas,我最初有一个带有列ID和日期的数据框,我想为每个ID找到第一个和最后一个日期条目 因此,我应用了聚合函数: df.groupby('ID').agg({'Date':['first','last']}) 我有以下形式的数据帧: 我想展平此数据帧,以便以以下方式获得数据帧: 我尝试使用df.reset\u索引(level=[0]) 并且还使用了df.unstack(),但无法获得所需的结果 有关如何解决此问题的任何线索?我认为您需要更改聚合函数,以避免在列中使用“指定聚合列”和聚合函数列表进

我最初有一个带有列ID和日期的数据框,我想为每个ID找到第一个和最后一个日期条目

因此,我应用了聚合函数:

df.groupby('ID').agg({'Date':['first','last']})
我有以下形式的数据帧:

我想展平此数据帧,以便以以下方式获得数据帧:

我尝试使用
df.reset\u索引(level=[0])
并且还使用了
df.unstack()
,但无法获得所需的结果


有关如何解决此问题的任何线索?

我认为您需要更改聚合函数,以避免在列中使用“指定聚合列”和聚合函数列表进行多索引:

rng = pd.date_range('2017-04-03', periods=10)
df = pd.DataFrame({'Date': rng, 'id': [23] * 5 + [35] * 5})  
print (df)
        Date  id
0 2017-04-03  23
1 2017-04-04  23
2 2017-04-05  23
3 2017-04-06  23
4 2017-04-07  23
5 2017-04-08  35
6 2017-04-09  35
7 2017-04-10  35
8 2017-04-11  35
9 2017-04-12  35

df1 = df.groupby('id')['Date'].agg(['first','last']).reset_index()
print (df1)
   id      first       last
0  23 2017-04-03 2017-04-07
1  35 2017-04-08 2017-04-12

有没有理由投否决票?不是我,我想原因是因为照片——数据不可能复制。是否可以添加您的代码来创建数据框?@jezrael我有一个列id和日期的数据框,所以为了得到这个数据框,我应用了
df.groupby('id').agg({'date':['first','last']})
rng = pd.date_range('2017-04-03', periods=10)
df = pd.DataFrame({'Date': rng, 'id': [23] * 5 + [35] * 5})  
print (df)
        Date  id
0 2017-04-03  23
1 2017-04-04  23
2 2017-04-05  23
3 2017-04-06  23
4 2017-04-07  23
5 2017-04-08  35
6 2017-04-09  35
7 2017-04-10  35
8 2017-04-11  35
9 2017-04-12  35

df1 = df.groupby('id')['Date'].agg(['first','last']).reset_index()
print (df1)
   id      first       last
0  23 2017-04-03 2017-04-07
1  35 2017-04-08 2017-04-12