gpt4 book ai didi

python - 合并 Pandas Dataframe 中两列的值,应用函数进行重复数据删除和连接

转载 作者:行者123 更新时间:2023-12-01 04:51:01 31 4
gpt4 key购买 nike

我对 pandas 很陌生,但我还没有找到任何其他可以帮助我的问题。如果这是一个明显重复的问题,我预先表示歉意。

我有一个包含 2 列的 csv,如下所示:

phones1,phones2
0000,
,1111
2222#3333,3333#4444
5555#6666,777#8888

我想要的最终结果是一个合并操作,其中包含一些逻辑来清理分隔符(#)和删除重复值:

phones1,phones2,phones_merged
0000,,0000
,1111,1111
2222#3333,3333#4444,2222#3333#4444
5555#6666,777#8888,5555#6666#777#8888

我认为我需要一个函数来处理此逻辑,以确保仅保留唯一值并以干净的方式添加分隔符 - 例如单个值不会像 #0000#.

解决这个问题的最佳方法是什么?

最佳答案

我们可以在每一行上调用一个函数并返回用“#”连接的唯一值:

In [18]:

def func(x):
l = []
r = []
# handle NaN values
if pd.notnull(x['phones1']):
l = x['phones1'].split('#')
if pd.notnull(x['phones2']):
r = x['phones2'].split('#')
combined = set(l+r)
return '#'.join(combined)

df['phones_merged'] = df.apply(lambda row: func(row), axis=1)
df
Out[18]:
phones1 phones2 phones_merged
0 0000 NaN 0000
1 NaN 1111 1111
2 2222#3333 3333#4444 4444#2222#3333
3 5555#6666 777#8888 777#8888#6666#5555

关于python - 合并 Pandas Dataframe 中两列的值,应用函数进行重复数据删除和连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28483955/

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