python - 使用 pandas 以 .txt 格式保存拆分数据集
问题描述
尝试将数据集吐到train
and 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)
这里可能有什么问题,以及如何解决这个问题?
解决方案
您需要将数据框编写为 unicode:
test.to_csv('checkme.txt', sep='\t', encoding='utf-8')
推荐阅读
- sql - 从每个名称的当前日期获取最后 5 个日期
- c++ - 链表 - 使用后指针插入末尾
- delphi - Delphi-是否可以设置firemonkey TOpenDialog的样式?
- javascript - 使用 JavaScript 创建元素时,SVG 折线不会显示点
- javascript - 解析 WKT 字符串以获取点数组的最实用方法?
- git - 签出分支后分离 HEAD;如何“推”?
- r - 摆脱数字向量中不需要的字符
- python - 使用 statsmodels (SARIMAX) 一次进行多个系列预测
- r - 屏蔽满足条件的行中的特定单元格值
- scala - 如何在 Slick 中设置 ThreadPool 大小?