[英]How to replace multiple character in string of data frame in pandas?
我有這樣一個數據框:
#v1 v2 v3 v4 v5
a b b c 1 1 2 2 2 3 3 3 3 4 4 4 4 4 4 ...
....
如您所見, v5
列包含word id
。 我有一個要刪除的word id
列表:
toRve = ['1','3','5'.....]
我編寫了一個for loop
來刪除列表中的word id
:
for i in toRve:
df[v5] = df[v5].str.replace("{0} ".format(i), "")
但是我得到了這個結果:
#v1 v2 v3 v4 v5
a b b c 222444444 ...
....
由於22 23
被視為2
+ 2
+ 23
因此已更改為223
。 您有解決這個問題的好主意嗎? 先感謝您!
為什么所有空間都消失了? 你可以幫幫我嗎? 先感謝您!
您可以使用apply
方法為每個元素運行一個函數:
import pandas as pd
s = pd.Series([
"1 1 2 2 3 3 4 4 5 5 6 6 6",
"3 4 2 1 2 3 4 4 5 5 4 34 2"
])
todel = set(["1", "3", "5"])
s.apply(lambda x:" ".join(v for v in x.strip().split() if v not in todel))
輸出:
0 2 2 4 4 6 6 6
1 4 2 2 4 4 4 34 2
dtype: object
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.