数据处理遇到的坑

1. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc6 in position 23: invalid continuation byte

    解决方法:文本编码不对,需要转换为utf-8格式,可以用记事本在保存的时候选择编码

2. csv用excel打开时是繁体乱码,用notepad和记事本打开是正常的

        解决方法:文件用记事本另存为带有BOM的utf-8格式 

 3. CUDA error: out of memory

        用GPU跑时提示“CUDA error: out of memory”,以为是超内存了,减小数据集还是提示这个,网上查找后看到有说用CPU跑会有更详细的报错提示

更换为CPU跑后报错:Assertion `cur_target >= 0 && cur_target < n_classes' failed.

        解决办法:数据集标签不是从0开始的,要改为从0开始,比如二分类要用0,1;

4. CSV文件中有文本使用了换行,导致在数据处理时被分为多行,原因不明,具体如下:

        报错:not enough values to unpack (expected 2, got 1)

        分析原因:1. 数据集中存在空行

                           2. 有的数据没有标签,或者有标签但是没有内容;

                              分析数据发现没标签的是一些有换行的数据被分开成为多条数据了

 

        解决方法:针对1:

# 删除包含空数据的行
import pandas as pd

df = pd.read_csv('filename.csv')

new_df = df.dropna()

new_df.to_csv("new_name.csv", index=False, encoding="utf-8")

针对2:先去掉文本中的换行符,可以用代码去除,还有个粗暴的方法,直接在excel中全选文件然后点两次自动换行

import pandas as pd

df = pd.read_csv( 'file_name.csv')
# 新增
df["comment"] = df["comment"].map(lambda line: line.replace(",", ""))
df["comment"] = df["comment"].map(lambda line: line.replace("\r\n", ""))
df["comment"] = df["comment"].map(lambda line: line.replace('\n', '').replace('\r', ''))
df.to_csv('new_name.csv', index=False, encoding="utf-8")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值