Pandas合并在数据帧的子组中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas合并在数据帧的子组中相关的知识,希望对你有一定的参考价值。
考虑数据帧df
:
SCHOOL ID SET NAME
0 Foo 1 0 Ben
1 Foo 2 0 Ben
2 Foo 3 1 Chris
3 Foo 4 1 Joe
4 Foo 5 0 Tom
5 Bar 1 0 Harry
6 Bar 2 1 Jeff
7 Bar 3 0 George
8 Bar 4 1 Tom
我想创建新的数据帧
SCHOOL ID SET NAME PREV_NAME
0 Foo 1 0 Ben None
1 Foo 2 0 Ben Ben
2 Foo 3 1 Chris None
3 Foo 4 1 Joe Chris
4 Foo 5 0 Tom Ben
5 Bar 1 0 Harry None
6 Bar 2 1 Jeff None
7 Bar 3 0 George Harry
8 Bar 4 1 Tom Jeff
其中PREV_NAME
是以前的NAME
(按ID
排序)在相同的SCHOOL
和SET
作为给定的记录。
如果没有SET
条件,那么我可以做类似的事情
df_copy = df.copy()
df_copy['ID'] = df_copy['ID'] + 1
df.merge(df_copy, on=['SCHOOL', 'ID'], how='left')
由于存在SET
条件,我们需要一种方法来对每个唯一的(SCHOOL, SET)
对进行分组,然后将上述合并(注意我们不能再使用ID
)与新索引一起应用。
我如何使用Pandas实现这一目标?
答案
好像你想要qazxsw poi + qazxsw poi on qazxsw poi -
groupby
以上是关于Pandas合并在数据帧的子组中的主要内容,如果未能解决你的问题,请参考以下文章
使用 pandas 合并和附加多个 CSV/数据帧的最快方法