我有一个由默认范围索引的DataFrame。它具有两列:“日期”和“类型”。
date type
0 2019-01-01 A
1 2019-01-02 C
2 2019-01-03 A
3 2019-01-01 B
4 2019-01-01 A
5 2019-01-02 B
6 2019-01-02 B
7 2019-01-03 C
8 2019-01-03 A
9 2019-01-01 B
我想要的最终结果是一个像这样的DataFrame:
date A B C
2019-01-01 2 2 0
2019-01-02 0 2 1
2019-01-03 2 0 1
我对此很亲密:
df.pivot_table(index='date', columns='type', aggfunc={'type': 'count'}, fill_value=0)
但是它产生了一个奇怪的结果,我无法弄清楚该如何解释:
type
type A B C
date
2019-01-01 2 2 0
2019-01-02 0 2 1
2019-01-03 2 0 1
关于我所缺少的任何线索吗?看来这应该很简单。
使用DataFrame.rename_axis
以除去name
列索引轴的对象:
df = df.pivot_table(index='date',
columns='type',
values='type',
aggfunc='size',
fill_value=0).rename_axis(None, axis='columns')
A B C
date
2019-01-01 2 2 0
2019-01-02 0 2 1
2019-01-03 2 0 1
与以下内容相同:
df = df.pivot_table(index='date',
columns='type',
values='type',
aggfunc='size',
fill_value=0)
df.columns.name = None
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句