pandas PIVOT_TABLE保持索引
问题描述
我有一个数据帧:
import pandas as pd
data = {'day_bucket': ['2011-01-21', '2011-01-22', '2011-01-23', '2011-01-24'], 'label': ['birds', 'birds', 'birds', 'birds'], 'numeric_value': [4, 0, 7, 3]}
df = pd.DataFrame(data)
day_bucket label numeric_value
0 2011-01-21 birds 4
1 2011-01-22 birds 0
2 2011-01-23 birds 7
3 2011-01-24 birds 3
我要透视此数据帧,以便有一个列birds
,其值在其下方。
pd.pivot_table(df, values='numeric_value', index='day_bucket',columns='label')
给予:
label birds
day_bucket
2011-01-21 4
2011-01-22 0
2011-01-23 7
2011-01-24 3
要保留索引,我应该做些什么?结果如下所示:
day_bucket birds
0 2011-01-21 4
1 2011-01-22 0
2 2011-01-23 7
3 2011-01-24 3
解决方案
set_index
与append
df.set_index(['day_bucket', 'label'], append=True)
.rename_axis([None, None, None]).squeeze().unstack()
birds
0 2011-01-21 4
1 2011-01-22 0
2 2011-01-23 7
3 2011-01-24 3
相关文章