gpt4 book ai didi

python-3.x - 基于多列合并行并连接多列

转载 作者:行者123 更新时间:2023-12-04 10:50:40 25 4
gpt4 key购买 nike

我有一个 df 喜欢

Code  Country     CID      New_Country
123 Aus C11 Europe
123 Aus C12 India
456 Europe C98 US
456 Europe C123 US
456 Europe C43 Europe
112 US C345 China

我想要这样的结果 df:
Code  Country     Merged_Column             
123 Aus C11,Europe;C12,India
456 Europe C98,US;C123,US;C43,Europe
112 US C345,China

问题陈述

我想基于多列( CodeCountry )合并行,并想合并两列( CIDNew_Country )

我的代码:
df=df.groupby(['Code','Country'])['CID'].apply(', '.join).reset_index()

上面的代码适用于一列,但需要帮助合并两列,如结果 df 所示

最佳答案

您可以使用:

series.str.cat 用于连接 2 个列然后 assign + groupby()

df.assign(Merged_Column=df['CID'].str.cat(df['Country'],sep=',')).groupby(
['Code','Country'],sort=False,as_index=False)['Merged_Column'].agg(';'.join)

或者:
df.agg() .join on axis=1 用于多个列,步骤与​​上述相同
df.assign(Merged_Column=df[['CID','New_Country']].agg(','.join,1)).groupby(
['Code','Country'],sort=False,as_index=False)['Merged_Column'].agg(';'.join)
   Code Country              Merged_Column
0 123 Aus C11,Europe;C12,India
1 456 Europe C98,US;C123,US;C43,Europe
2 112 US C345,China

关于python-3.x - 基于多列合并行并连接多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59487001/

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