通过连接 3 列创建一个具有唯一性的新列

问题描述 投票:0回答:2

我想在 python 中通过连接 col1col2col3 来创建下面的最终 concate_col

Col1 col2 col3 concate_col
a     b    b      a,b
c     a    a      c,a
d     a    e      d,a,e

我能够连接这 3 列,但在每一行中都具有唯一值。

我用过df.str.cat来拼接

python pandas concatenation unique
2个回答
0
投票
df['concate_col'] = df.apply(lambda x: ','.join(set(x)), axis=1)

0
投票
import pandas as pd


data = {'col1': ['a', 'c', 'd'],
        'col2': ['b', 'a', 'a'],
        'col3': ['b', 'a', 'e']}
df = pd.DataFrame(data)

# Concatenate unique values of col1, col2, and col3 for each row
df['concate_col'] = df.apply(lambda row: ','.join(set(row)), axis=1)

print(df)

结果:

  col1 col2 col3 concate_col
0    a    b    b         b,a
1    c    a    a         c,a
2    d    a    e       d,e,a
© www.soinside.com 2019 - 2024. All rights reserved.