Pandas 是否有方法将发生次数的唯一值用于列标题?

Pandas 是否有方法将发生次数的唯一值用于列标题?,pandas,Pandas,我有一个数据帧df1 Time Category 23:05:07 a 23:11:12 b 23:12:15 a 23:16:12 a 已创建另一个数据帧df2,返回列category中每个唯一值的出现次数,并以5分钟为间隔。使用此代码df2=df1.重新采样('5T').类别.值\u计数() df2 Time Category Category 23:05 a 1 23:10 a 1 23:10 b

我有一个数据帧
df1

Time        Category
23:05:07    a
23:11:12    b
23:12:15    a
23:16:12    a
已创建另一个数据帧
df2
,返回列
category
中每个唯一值的出现次数,并以5分钟为间隔。使用此代码
df2=df1.重新采样('5T').类别.值\u计数()

df2

Time   Category   Category 
23:05  a          1
23:10  a          1
23:10  b          1
23:15  a          1
有没有办法将唯一值用作列标题?看起来像:

Time   a   b 
23:05  1   0
23:10  1   1
23:15  1   0

下面的代码应该可以工作。我将您的第二个“分类”列重命名为“CatUnique”

df.groupby(['Time','Category'])['CatUnique'].sum().unstack().fillna(0).reset_index()

值\u计数
返回多索引序列。因此,您只需通过链接
unstack
直接处理其结果即可获得所需的输出

由于您能够
重新采样
,我假设
时间
是您的索引,它已经在
日期时间
时间增量
数据类型中

df_final = df1.resample('5T').Category.value_counts().unstack(fill_value=0)

Out[79]:
Category  a  b
Time
23:05:07  1  0
23:10:07  1  1
23:15:07  1  0