[英]Tokenize - String to Array of Tokens
我的代碼:
import numpy as np
import pandas
import codecs
import re
dataframe = pandas.read_csv("tmp.csv", delimiter=",")
dataset = dataframe.values
x = dataset[:,0:1]
y = dataset[:,1]
#j = 0
for data in x:
text = str(data[0])
tokenizer = re.compile('\W+')
tokens = tokenizer.split(text)
i = 0
for token in tokens:
tokens[i] = token.lower()
i += 1
data = tokens
#x[j] = tokens
#j += 1
print(data)
print(x)
雖然print(data)
的格式為['token1', 'token2', ...]
print(x)
的格式為[["text1"], ["text2"], ...]
我想要[['token1', 'token2', ...], ['token5', 'token6', ...], ...]
的形式[['token1', 'token2', ...], ['token5', 'token6', ...], ...]
x[j] = tokens
而不是data = tokens
具有計數索引j的data = tokens
在ValueError: cannot copy sequence with size 4 to array axis with dimension 1
返回ValueError: cannot copy sequence with size 4 to array axis with dimension 1
tmp.csv具有以下形式:具有約350萬行的圖像 。
我是python的新手,所以我希望任何人都可以幫助我。
您的代碼不會以任何方式修改x
,因此您在print(x)
時會得到與開始時相同的列表。
您需要創建一個新列表,您將在其中存儲標記化文本(即列表列表)。 在第一個for循環之前添加x_tokens = []
,然后在每個令牌列表x_tokens.append(tokens)
附加x_tokens.append(tokens)
。
import numpy as np
import pandas
import codecs
import re
dataframe = pandas.read_csv("tmp.csv", delimiter=",")
dataset = dataframe.values
x = dataset[:,0:1]
y = dataset[:,1]
x_tokens = []
for data in x:
text = str(data[0])
tokenizer = re.compile('\W+')
tokens = tokenizer.split(text)
i = 0
for token in tokens:
tokens[i] = token.lower()
i += 1
x_tokens.append(tokens)
print(tokens)
print(x_tokens)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.