gpt4 book ai didi

python - 如何在 pandas 中分组并保持特定顺序?

转载 作者:行者123 更新时间:2023-12-01 01:34:44 25 4
gpt4 key购买 nike


在 python 的 pandas 包中,我想进行分组,以便保持特定的顺序。下面的代码似乎可以做到这一点,但是有没有更快/更简单的方法?或者是否可以保证 pandas 的 group by 函数保持源数据框中记录的顺序?

import pandas as pd

sep = ' - '
df1 = pd.DataFrame([[1,"apple",1],[1,"banana",3],[1,"pear",2],[2,"lemon",3],[2,"orange",1],[2,"apple",2]])
df1.columns = ["id","product","seq"]
df1 = df1.sort_values(by=["id","seq"])
pd.DataFrame(df1.groupby('id',as_index=False)['product'].apply(lambda x: sep.join(x)))

最佳答案

使用参数sort=False,也不需要DataFrame构造函数:

df2 = df1.groupby('id', sort=False)['product'].apply(sep.join).reset_index()
print (df2)
id product
0 1 apple - pear - banana
1 2 orange - apple - lemon

关于python - 如何在 pandas 中分组并保持特定顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52493360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com