我有一个看起来像这样的数据透视表 -
0
type A B C
obs
x NA 1 2
y 1 1 2
z 2 2 3
我想将索引重置为这样 -
obs A B C
x NA 1 2
y 1 1 2
z 2 2 3
将reset_index
与inplace=True
一起使用对我不起作用。有什么建议吗?
答案 0 :(得分:1)
您需要在数据透视中删除[]
或指定参数values
以阻止列中的MultiIndex
:
df = pd.DataFrame({
'obs': ['x', 'x', 'y', 'y', 'y', 'z', 'z', 'z'],
'type': ['B', 'C', 'A', 'B', 'C', 'A', 'B', 'C'],
0: [1.0, 2.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0]}
)
#print (df)
print (df.pivot_table(index='obs', columns='type'))
0
type A B C
obs
x NaN 1.0 2.0
y 1.0 1.0 2.0
z 2.0 2.0 3.0
print (df.pivot_table(index='obs', columns='type', values=[0]))
0
type A B C
obs
x NaN 1.0 2.0
y 1.0 1.0 2.0
z 2.0 2.0 3.0
print (df.pivot_table(index='obs', columns='type', values=0))
type A B C
obs
x NaN 1.0 2.0
y 1.0 1.0 2.0
z 2.0 2.0 3.0