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