Python Tokenize-标记数组的字符串
我的代码:Python Tokenize-标记数组的字符串,python,arrays,python-3.x,pandas,numpy,Python,Arrays,Python 3.x,Pandas,Numpy,我的代码: 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.com
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)
而打印(数据)
的格式为['token1','token2',…]
print(x)
的格式为[[“text1”]、[“text2”]、…]
我想要x的[['token1','token2',…],['token5','token6',…],…]
x[j]=tokens
而不是data=tokens
,其计数索引j在ValueError中返回:无法将大小为4的序列复制到维度为1的数组轴上
tmp.csv的格式是:大约350万行
我对python比较陌生,所以我希望任何人都能帮助我。您的代码不会以任何方式修改
x
,因此,当您打印(x)
时,您会得到与开始时相同的列表
您需要创建一个新列表,用于存储标记化文本(即列表列表)。在第一个for循环之前添加x_令牌=[]
,然后用x_令牌追加每个令牌列表。追加(令牌)
请将您的问题包括在csv文件内容中。当然。。。。我没有考虑数据是一个临时变量这一事实。非常感谢。
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)