python-3.x - pandas 数据框列转换

标签 python-3.x pandas calculated-columns

我的输入 df 如下:

ID     item1       item2        item3
1      a,b         b,c          b
2      a,c,f       b,c          b,c,f
3      g,h,i       i            h,i
4      j,k         j,k          l

item1、item2、item3的df数据类型为字符串类型。

我想添加第四列,所需的转换如下: 伪代码:

Final_item = item3 - set[col(item1) + col(item2)] 基本上,在最后一列中,添加 item1 和 item2,然后应用 set 来删除重复项,然后用 item3 列减去。

期望的输出如下:

ID     item1       item2        item3       Final_item
1      a,b         b,c          b           a,c
2      a,c,f       b,c          b,c,f       a 
3      g,h,i       i            h,i         g
4      j,k         j,k          l           j,k

最佳答案

首先分割列,并通过,连接列,然后获得压缩系列列表理解的差异:

i3 = df['item3'].str.split(',')
i12 = (df['item1'] + ',' + df['item2']).str.split(',')
df['Final_item'] = [','.join(set(b) - set(a)) for a, b in zip(i3, i12)]
print (df)
   ID  item1 item2  item3 Final_item
0   1    a,b   b,c      b        c,a
1   2  a,c,f   b,c  b,c,f          a
2   3  g,h,i     i    h,i          g
3   4    j,k   j,k      l        j,k

关于python-3.x - pandas 数据框列转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60095997/

相关文章:

python - 消极的展望会产生意想不到的结果

python-3.x - Pandas :将数据框拆分为多个 csvs

Python 单词和短语的共现矩阵

vba - 仅在 Excel 中的几列中打开/关闭自动计算

在 R 中重构数据

python - 如何找到字符串的可能组合总数?

python 3 : Attempted relative import in non-package

python - 在数据框中创建最大/最小列时选择列的问题

python - 通过比较更多列值(标题名称之间有空格)来删除行

python - 使用现有列和循环的总和创建列