熊猫展平复杂的多层列数据框

时间:2019-01-04 12:46:34

标签: pandas

最初,我有一个带有ID和Date列的数据框,我想为每个ID查找第一个和最后一个Date条目。

因此我应用了一个聚合函数:

df.groupby('ID').agg({'Date':['first','last']})

我有一个以下格式的数据框:

DataFrame

print(df.columns)
>> MultiIndex(levels=[['Date', 'ID', 'difference'], ['first', 'last', '']],
       labels=[[1, 0, 0, 2], [2, 0, 1, 2]])

我想展平此数据框,以便按以下方式获取数据框:

enter image description here

我尝试使用df.reset_index(level=[0]) 并且还使用了df.unstack(),但无法获得理想的结果。

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

1 个答案:

答案 0 :(得分:0)

我认为您需要更改聚合函数,以避免在列中使用{<1}},并为聚合和聚合函数列表指定列:

MultiIndex