我有一个数据框
Year Start End Name Price
0 nan 0101 0331 Squirtle 876
1 2021 0101 1231 Squirtle 200
2 nan 0101 0331 Wartortle 1000
3 2021 0101 1231 Wartortle 1200
4 nan 0101 0331 Blastoise 3100
5 2021 0101 1231 Blastoise 4200
6 2022 0101 1231 Blastoise 10000
我想把它改造成这样
Name Squirtle Wartortle Blastoise
Year Start End
nan 0101 0331 876 1000 3100
2021 0101 1231 200 1200 4200
2022 0101 1231 10000
我试过了,
df.pivot(index=['Year', 'Start', 'End'], columns='Name', values='Price')
。但是没有得到任何运气。
任何帮助都将不胜感激
我认为你错用了
pivot
而不是pivot_table
产出:
而如果用占位符值(如1000)替换这些值
你会得到你想要的:
使用
set_index
和unstack
:输出:
你很接近。使用
pivot_table
而不是pivot
来获取所需的分组。唯一需要注意的是,您需要替换NA
值(如果它们实际上是NA
而不是字符串'nan'
)相关问题 更多 >
编程相关推荐