Python 2.7 使用Pandas和NLTK在Python 2.7中编码/解码数据

Python 2.7 使用Pandas和NLTK在Python 2.7中编码/解码数据,python-2.7,pandas,utf-8,nltk,decode,Python 2.7,Pandas,Utf 8,Nltk,Decode,我有一个熊猫数据框,其中一列是德语文本,我想对其进行分析。但是我在编码/解码文本时遇到了一些麻烦。我总是得到错误的输出 我的脚本以以下代码开头: #!/usr/bin/env python2 # -*- coding: utf-8 -*- 这就是我阅读文件的方式(在我阅读之前,它是用utf-8-sig保存的(我不知道是否有必要知道): 输出如下所示: print df['REVIEW'] 0 Wer einen großen, schicken Raum mag. Wer ger

我有一个熊猫数据框,其中一列是德语文本,我想对其进行分析。但是我在编码/解码文本时遇到了一些麻烦。我总是得到错误的输出

我的脚本以以下代码开头:

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
这就是我阅读文件的方式(在我阅读之前,它是用utf-8-sig保存的(我不知道是否有必要知道):

输出如下所示:

print df['REVIEW']

0       Wer einen großen, schicken Raum mag. Wer gern la...
1       Die L'Osteria residiert in einem alten Kino in...
2       Die Inneneinrichtung ist eine Erwähnung wert, ...
到目前为止,它是有效的。但只要我想用以下代码标记文本,我就会得到一个“混乱”的输出:

输出:

print df['token']
0       [wer, einen, gro�, en, schicken, raum, mag wer,...
1       [die, losteria, residiert, in, einem, alten, k...
2       [die, inneneinrichtung, ist, eine, erw�, hnung...
我已经试过解码了:

df['token'].str.decode('utf-8')
我试着把这个写进书信里:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')
但我仍然得到相同的输出

我希望获得以下输出:

0       [wer, einen, großen, schicken, raum, mag, Wer, gern, la...
1       [die, l'Osteria, residiert, in, einem, alten, kino, in...
2       [die, inneneinrichtung, ist, eine, erwähnung, wert, ...
如果有人能帮我,这里有一个df示例:

import pandas as pd
df = pd.DataFrame( ['Ich bin ein Text, der sich nicht ändert','Wir zeigen größe','Manchmal brauchen wir mehr Übung.'])
df.columns =['REVIEW']
,并且Unicode不是Python2.7中的默认值

df['REVIEW'].str.decode('utf8').apply(lambda x: tokenizer.tokenize(x))

我无法在py 3Did上重现此错误,您尝试
df['REVIEW'].str.decode('utf8').apply(lambda x:tokenizer.tokenize(x))
import pandas as pd
df = pd.DataFrame( ['Ich bin ein Text, der sich nicht ändert','Wir zeigen größe','Manchmal brauchen wir mehr Übung.'])
df.columns =['REVIEW']
df['REVIEW'].str.decode('utf8').apply(lambda x: tokenizer.tokenize(x))