Python 按日期将两列数据框旋转为值计数
我有一个按默认范围索引的数据帧。它有两列:“日期”和“类型” 我想要的最终结果是这样的数据帧:Python 按日期将两列数据框旋转为值计数,python,pandas,Python,Pandas,我有一个按默认范围索引的数据帧。它有两列:“日期”和“类型” 我想要的最终结果是这样的数据帧: date A B C 2019-01-01 2 2 0 2019-01-02 0 2 1 2019-01-03 2 0 1 我与此非常接近: df.pivot_表(index='date',columns='type',aggfunc={'type':'count'},fill_value=0) 但它产生了一个奇怪的结果,我不知道如何解释:
date A B C
2019-01-01 2 2 0
2019-01-02 0 2 1
2019-01-03 2 0 1
我与此非常接近:
df.pivot_表(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
有关于我遗漏什么的线索吗?这似乎应该相当简单。用于删除列索引轴的名称
对象:
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
尝试使用df.columns=df.columns.droplevel(1)你所做的,在末尾有一个索引步骤:
df.pivot\u table(index='date',columns='type',aggfunc={'type':'count'},fill\u value=0)['type']
@cs95,这让我接近了,但它仍然有最左边的类型。只需添加一个'reset\u index()
call then?使用rename\u axis
应该给出您的预期输出:df.pivot\u表(index='date',columns='type',values='type',aggfunc='size',fill\u value=0)。重命名\u axis(None,axis='columns')。重置\u index()
df = df.pivot_table(index='date',
columns='type',
values='type',
aggfunc='size',
fill_value=0)
df.columns.name = None