在对每天和每个许可证的uniqueid进行分组和计数之后,我想创建一个pivot表。这是我通常使用的,它产生了预期的结果:
import pandas as pd
raw_data = {'day' : ['Monday','Monday','Monday','Monday','Monday'],
'license':['A','A','C','B','B'],
'uniqueid':[123,352,737,368,901]}
df = pd.DataFrame(raw_data).groupby(['day','license']).count()
pivot = df.pivot_table(index = 'day', columns = 'license', values = ['uniqueid'])
pivot
结果:
uniqueid
license A B C
day
Monday 2 2 1
但如果我将原始数据中的“C”许可证更改为“B”许可证,则会得到以下结果:
uniqueid
day 2
license 3
我希望得到和以前一样的结果,去掉‘C’列。你知道吗
问题似乎出在pivot\u table函数中,因为groupby/count函数返回正确分隔的数据。如果我有两种或两种以上的一天,它也会起作用。有什么建议吗?谢谢您!你知道吗
在GitHub上标记一个问题之后,这个bug将在下一个版本中解决。同时,使用
df.unstack()
会产生预期的结果。你知道吗相关问题 更多 >
编程相关推荐