我有一個資料框
Name SubName
AB ABCD
UI 10UI09
JK 89-JK-07
yhk 100yhk0A
我需要添加一列,提及 SubName 中不在 Name 中的字符。
Name SubName Remainder
AB ABCD CD
UI 10UI09 1009
JK 89-JK-07 89--07
yhk 100yhk0A 1000A
uj5u.com熱心網友回復:
您還可以使用 apply 來獲取新列,如下所示:
df["Remainder"] = df.apply(lambda x: (x["SubName"].replace(x["name"], "")), axis=1)
輸出:
name SubName Remainder
AB ABCD CD
UI 10UI09 1009
JK 89-JK-07 89--07
yhk 100yhk0A 1000A
uj5u.com熱心網友回復:
您需要在這里使用回圈,您可以使用正則運算式:
import re
df['Remainder'] = [re.sub(f'[{"".join(set(a))}]', '', b)
for a,b in zip(df['Name'], df['SubName'])]
join使用and替代set(在某些情況下可能更快):
df['Remainder'] = [''.join([c for c in b if c not in S])
if (S:=set(a)) else b
for a,b in zip(df['Name'], df['SubName'])
]
輸出:
Name SubName Remainder
0 AB ABCD CD
1 UI 10UI09 1009
2 JK 89-JK-07 89--07
3 yhk 100yhk0A 1000A
uj5u.com熱心網友回復:
df['Remainder'] = df.apply(lambda x: x.SubName.replace(x.Name, ''), axis = 1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/447948.html
