簡體   English   中英

用數據框中的單詞替換列表中的單詞,Python

[英]Replace words in list by words in dataframe, Python

我有一個句子列表,我需要用數據框列中的一個單詞替換每個單詞。 這是一對一的通信。 這是我的代碼:

def replace_words(x):
    z = [word for line in x for word in line.split()]
    for i in range(0 ,(len(z)-1)):
    z[i] = str.replace(z[i],dataframe[i])
    return z

最終給出錯誤“無法分配給函數調用”。 這是數據的樣子:

x = ['I love flappy brd' , 'i got a platium medal','i hammred my fone']  .

現在計算z,給我:

z = ['I','love','flappy','brd','i','got','a','platium','medal','i','hammred','my','fone']

dataframe是一個系列(類似於對象的表),它有一列,每行包含一個單詞,如下所示: 在此輸入圖像描述

所以現在我需要用圖像中的這些單詞(正確的單詞)替換z中的單詞,即數據框...我該怎么做?

你正在使用str.replace錯誤。 您應該在字符串上調用它,並指定要替換的子字符串和要替換它的新字符串。 它的工作原理如下:

>>> x = "hello world"
>>> x.replace("hello", "goodbye")
'goodbye world'

至於你的實際程序,從你的描述看來你真的想要這樣的東西:

def replace_words(x, dataframe):
  z = [word for line in x for word in line.split()]
  for i in range(0, len(z)):
    z[i] = dataframe[i]
  return z

dataframe = ["I", "love", "flappy", "bird", "i", "got", "a", "platinum", "medal", "i", "hammered", "my", "phone"]
x = ['I love flappy brd' , 'i got a platium medal','i hammred my fone']
print "x was: " + str(x)
print "now: " + str(replace_words(x, dataframe))

這將輸出:

x was: ['I love flappy brd', 'i got a platium medal', 'i hammred my fone']
now: ['I', 'love', 'flappy', 'bird', 'i', 'got', 'a', 'platinum', 'medal', 'i', 'hammered', 'my', 'phone']

雖然我必須承認,這似乎毫無意義,因為結果與data frame的結果完全相同。 也許你可以進一步澄清。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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