如何使用 pandas 循环对列进行排序和分组

Viv*_*ash 2 python sorting loops pandas group

来自数据框 df1 =

区域 顺序 X
A 2 604582.25 320710
A 1 604590.25 320704.75
A 3 604579.25 320710
2 536584.47 176977.83
1 536570 176996.43
C 1 509202.13 307995.99
C 2 509205.3 307951.24

需要生成成

df1 =

区域 XY_by_sequence
A 604590.25 320704.75 , 604582.25 320710 , 604579.25 320710
536570 176996.43 , 536584.47 176977.83
C 509202.13 307995.99 , 509205.3 307951.24

And*_*ely 7

尝试:

x = (
    df.set_index(["Area", "Sequence"])
    .stack()
    .groupby(level=[0, 1])
    .agg(lambda x: " ".join(map(str, x)))
    .groupby(level=0)
    .agg(", ".join)
    .reset_index(name="XY_by_sequence")
)
print(x)
Run Code Online (Sandbox Code Playgroud)

印刷:

  Area                                               XY_by_sequence
0    A  604590.25 320704.75, 604582.25 320710.0, 604579.25 320710.0
1    B                      536570.0 176996.43, 536584.47 176977.83
2    C                      509202.13 307995.99, 509205.3 307951.24
Run Code Online (Sandbox Code Playgroud)