首页 > 解决方案 > 使用 pandas 以 .txt 格式保存拆分数据集

问题描述

尝试将数据集吐到trainand test,然后需要将其保存为.txt格式。

这是到目前为止的代码,

import pandas as pd
from sklearn.model_selection import train_test_split

category=pd.read_csv('dataset.tsv',delimiter='\t',encoding='utf-8')

train, test = train_test_split(category, test_size=0.2)

test.to_csv('checkme.txt')

但是,当我尝试这样做时,它会给出错误:

回溯(最后一次调用):文件“splitter.py”,第 8 行,在 test.to_csv('checkme.tsv') 文件“/home/abc/micro/micro/local/lib/python2.7/site- packages/pandas/core/frame.py”,第 1745 行,在 to_csv formatter.save() 文件中“/home/abc/micro/micro/local/lib/python2.7/site-packages/pandas/io/formats/ csvs.py”,第 171 行,保存 self._save() 文件“/home/abc/micro/micro/local/lib/python2.7/site-packages/pandas/io/formats/csvs.py”,行286,在 _save self._save_chunk(start_i, end_i) 文件“/home/abc/micro/micro/local/lib/python2.7/site-packages/pandas/io/formats/csvs.py”,第 313 行,在_save_chunk self.cols, self.writer) 文件“pandas/_libs/writers.pyx”,第 64 行,在 pandas._libs.writers.write_csv_rows UnicodeEncodeError: 'ascii'编解码器无法对位置 111 中的字符 u'\u026a' 进行编码:序数不在范围内(128)

这里可能有什么问题,以及如何解决这个问题?

标签: pythonpandas

解决方案


您需要将数据框编写为 unicode:


test.to_csv('checkme.txt', sep='\t', encoding='utf-8')

推荐阅读