Twitterデータを含むUTF-8ファイルがあり、Pythonデータフレームに読み取ろうとしていますが、Unicode文字列ではなく「オブジェクト」タイプのみを取得できます。
# file 1459966468_324.csv
#1459966468_324.csv: UTF-8 Unicode English text
df = pd.read_csv('1459966468_324.csv', dtype={'text': unicode})
df.dtypes
text object
Airline object
name object
retweet_count float64
sentiment object
Tweet_location object
dtype: object
PandasでUTF-8データを読み取り、ユニコードに強制する正しい方法は何ですか?
これは問題を解決しません:
df = pd.read_csv('1459966468_324.csv', encoding = 'utf8')
df.apply(lambda x: pd.lib.infer_dtype(x.values))
テキストファイルはこちら: https://raw.githubusercontent.com/l1x/nlp/master/1459966468_324.csv
他のポスターが述べたように、あなたは試してみることができます:
df = pd.read_csv('1459966468_324.csv', encoding='utf8')
ただし、これにより、dtypeを印刷するときに「オブジェクト」を見ることになります。それらがutf8であることを確認するには、CSVを読んだ後に次の行を試してください。
df.apply(lambda x: pd.lib.infer_dtype(x.values))
出力例:
args unicode
date datetime64
Host unicode
kwargs unicode
operation unicode
encoding
キーワードを適切なパラメーターとともに使用します。
df = pd.read_csv('1459966468_324.csv', encoding='utf8')
Pandasは、文字列をobject
sに保存します。 python 3では、すべての文字列はデフォルトでUnicodeになっています。したがって、python 3を使用すると、データはすでにUnicodeになります(誤解しないでくださいタイプobject
)。
python 2)がある場合は、df = pd.read_csv('your_file', encoding = 'utf8')
を使用してから、たとえばpd.lib.infer_dtype(df.iloc[0,0])
を試してください(最初のcolは文字列で構成されていると思います)。