簡體   English   中英

如何替換熊貓數據框字符串中的多個字符?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM