我在透视以下数据时遇到了问题
index column data
0 1 A cat
1 1 B blue
2 1 C seven
3 2 A dog
4 2 B green
5 2 B red
6 2 C eight
7 2 C five
8 3 A fish
9 3 B pink
10 3 C one
我正在尝试通过使用
df.pivot(index='index', columns='column', values="data")
但我收到错误消息“索引包含重复条目,无法重塑”
我查阅了大量类似的帖子,但我尝试的解决方案都没有奏效
我想要的输出是
index A B C
1 cat blue seven
2 dog green eight
2 dog green five
2 dog red eight
2 dog red five
3 fish pink one
对此最好的解决方案是什么?
发布于 2019-12-09 13:58:27
在这个问题Pandas pivot warning about repeated entries on index中,他们指出重复的对(因此在“索引”和“列”列中的重复对)是不可能透视的。
在数据集中,索引2的列值是B和C的两倍。
你能改变“index”列吗?以我的新数据帧为例:
df = pd.DataFrame({'index': [1,1,1,2,2,3,2,4,3,4,3],
'column': ['A','B','C','A','B','B','C','C','A','B','C'],
'data':['cat','blue','seven', 'dog', 'green', 'red',
'eight','five', 'fish', 'pink', 'one']})
df
out:
index column data
0 1 A cat
1 1 B blue
2 1 C seven
3 2 A dog
4 2 B green
5 3 B red
6 2 C eight
7 4 C five
8 3 A fish
9 4 B pink
10 3 C one
df.pivot('index', 'column', 'data')
out:
column A B C
index
1 cat blue seven
2 dog green eight
3 fish red one
4 NaN pink five
Option_2
如果你使用unstack with 'append':
testing = df.set_index(['index', 'column'],
append=True).unstack('column')
testing
data
column A B C
index
0 1 cat NaN NaN
1 1 NaN blue NaN
2 1 NaN NaN seven
3 2 dog NaN NaN
4 2 NaN green NaN
5 2 NaN red NaN
6 2 NaN NaN eight
7 3 NaN NaN five
8 3 fish NaN NaN
9 3 NaN pink NaN
10 3 NaN NaN one
https://stackoverflow.com/questions/59248133
复制相似问题