熊猫列值到列?
发布于 2021-01-29 18:18:22
我已经看到了将一个列/系列分解为Pandas数据框的多个列的主题的几种变体,但是我一直在尝试做点事情,而实际上并没有成功地使用现有方法。
给定这样的一个DataFrame:
key val
id
2 foo oranges
2 bar bananas
2 baz apples
3 foo grapes
3 bar kiwis
我想将key
系列中的项目转换为以val
值作为值的列,如下所示:
foo bar baz
id
2 oranges bananas apples
3 grapes kiwis NaN
我觉得这应该是相对简单的事情,但是由于卷积水平的提高,我已经为此花了几个小时不停地努力,但没有成功。
关注者
0
被浏览
52
1 个回答
-
有几种方法:
使用
.pivot_table
:>>> df.pivot_table(values='val', index=df.index, columns='key', aggfunc='first') key bar baz foo id 2 bananas apples oranges 3 kiwis NaN grapes
使用
.pivot
:>>> df.pivot(index=df.index, columns='key')['val'] key bar baz foo id 2 bananas apples oranges 3 kiwis NaN grapes
>>> df.reset_index().groupby(['id', 'key'])['val'].aggregate('first').unstack() key bar baz foo id 2 bananas apples oranges 3 kiwis NaN grapes