【发布时间】:2019-06-06 18:24:58
【问题描述】:
我的数据集如下所示:
Paste_Values AB_IDs AC_IDs AD_IDs
AE-1001-4 AB-1001-0 AC-1001-3 AD-1001-2
AE-1964-7 AB-1964-2 AC-1964-7 AD-1964-1
AE-2211-1 AB-2211-1 AC-2211-3 AD-2211-2
AE-2182-4 AB-2182-6 AC-2182-7 AD-2182-5
我需要将Paste_values 列中的所有值与一行中的所有其他三个值进行比较。
例如:
AE-1001-4 分为两部分 AE 和 1001-4 我们需要检查 1001-4 是否存在其他列
如果它不存在,我们需要创建新的列,放置相同的AE-1001-4
如果1001-4 与其他列匹配,我们需要将其更改为 int 'AE-1001-5' 放入新列
之后:
如果没有匹配项,我需要将Paste_values 的值写入新创建的名为new_paste_value 的列中。
如果同一行中的其他列中存在匹配(相同的值),那么我需要将值的最后一位从Paste_values 列更改,以便整个值不应该与任何相同该行中的其他整数值以及新生成的值应写入new_paste_value 列。
我需要对数据框中的每一行都执行此操作。
所以结果应该是这样的:
Paste_Values AB_IDs AC_IDs AD_IDs new_paste_value
AE-1001-4 AB-1001-0 AC-1001-3 AD-1001-2 AE-1001-4
AE-1964-7 AB-1964-2 AC-1964-7 AD-1964-1 AE-1964-3
AE-2211-1 AB-2211-1 AC-2211-3 AD-2211-2 AE-2211-4
AE-2182-4 AB-2182-6 AC-2182-4 AD-2182-5 AE-2182-1
我该怎么做?
【问题讨论】:
标签: python pandas loops split string-matching