2024-04-28 14:27:35 发布
网友
假设我们有一个pandas数据帧,其结构如下: Id | number |seq| a | 1 | X | a | 3 | Z | b | 1 | P | b | 6 | G | b | 5 | C |
Id | number |seq| a | 1 | X | a | 3 | Z | b | 1 | P | b | 6 | G | b | 5 | C |
所需的结果是一个数据帧,它看起来像: Id |new_seq| a | XZ | b | PCG |
Id |new_seq| a | XZ | b | PCG |
也就是说,new_seq列是按Id分组的seq,并且遵循number列所指示的顺序。在
new_seq
Id
seq
number
有哪些选项可以有效地执行此操作?在
您可以将^{}与groupby和applyjoin一起使用:
groupby
apply
join
print (df.sort_values(['Id', 'number'])) Id number seq 0 a 1 X 1 a 3 Z 2 b 1 P 4 b 5 C 3 b 6 G df = df.sort_values(['Id', 'number']) .groupby('Id', sort=False).seq .apply(''.join) .reset_index(name='new_seq') print (df) Id new_seq 0 a XZ 1 b PCG
您可以将^{} 与
groupby
和apply
join
一起使用:相关问题 更多 >
编程相关推荐