重置数据透视表的多索引以获取单行索引

时间:2019-07-12 22:42:22

标签: python-3.x pandas multi-index

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

df = pd.DataFrame({'a':['1-Jul', '2-Jul', '3-Jul', '1-Jul', '2-Jul', '3-Jul'], 'b':[1,1,1,2,2,2], 'c':[3,1,2,4,3,2]})

我需要以下数据框:

df_new = pd.DataFrame({'a':['1-Jul', '2-Jul', '3-Jul'], 1:[3, 1, 2], 2:[4,3,2]}).

我尝试了以下方法:

df = df.pivot_table(index = ['a'], columns = ['b'], values = ['c'])
df_new = df.reset_index()

但是它没有给我所需的结果。我尝试了这种变化都无济于事。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

尝试这个:

df2 = df.groupby('a')['c'].agg(['first','last']).reset_index()
cols_ = df['b'].unique().tolist()
cols_.insert(0,df.columns[0])
df2.columns = cols_
df2

enter image description here

相关问题