【问题标题】:save a split dataset in .txt format using pandas使用 pandas 以 .txt 格式保存拆分数据集
【发布时间】:2019-05-10 09:56:14
【问题描述】:

尝试将数据集吐出到traintest,然后需要将其保存为.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')

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

Traceback(最近一次调用最后一次): 文件“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 格式化程序.save() 文件“/home/abc/micro/micro/local/lib/python2.7/site-packages/pandas/io/formats/csvs.py”,第 171 行,保存 self._save() _save 中的文件“/home/abc/micro/micro/local/lib/python2.7/site-packages/pandas/io/formats/csvs.py”,第 286 行 self._save_chunk(start_i, end_i) _save_chunk 中的文件“/home/abc/micro/micro/local/lib/python2.7/site-packages/pandas/io/formats/csvs.py”,第 313 行 self.cols,self.writer) 文件“pandas/_libs/writers.pyx”,第 64 行,在 pandas._libs.writers.write_csv_rows UnicodeEncodeError: 'ascii' codec can't encode character u'\u026a' in position 111: ordinal not in range(128)

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

【问题讨论】:

  • 可能还想在to_csv 上指定编码?
  • @RafaelC ,是的,还需要指定编码

标签: python pandas


【解决方案1】:

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


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

【讨论】:

  • 您能否也添加 sep='\t' ,这样我可以通过接受它作为答案来结束这个问题!
猜你喜欢
  • 2022-10-13
  • 2014-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-12
  • 2019-04-11
  • 2016-10-23
相关资源
最近更新 更多