请原谅我措辞不当的问题——我不知道如何措辞。
鉴于此 pandas 数据透视表,
df = pd.DataFrame({'col1': list('AABB'),
'col2': list('acab'),
'values': [1,3,4,5]})
pt = pd.pivot_table(df,
index=['col1', 'col2'],
values='values',
aggfunc=sum)
输出:
col1 col2
A a 1
c 3
B a 4
b 5
我怎样才能让数据透视表输出这个:
col1 col2
A a 1
b NaN
c 3
B a 4
b 5
c NaN
最佳答案
如果将列转换为 category
数据类型(pandas 0.15 中的新功能!),您将获得所需的聚合:
df.col2 = df.col2.astype('category')
In [378]: df.groupby(['col1','col2']).sum()
Out[378]:
values
col1 col2
A a 1
b NaN
c 3
B a 4
b 5
c NaN
关于python - 如何在 pandas 数据透视表中重复索引,以便 nan 填充无记录行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35713888/