zoukankan      html  css  js  c++  java
  • python 错误记录及处理

    1、pandas解决“pandas.parser.CParserError: Error tokenizing data. C error: Expected 2 fields in line 3, s”

    2、中文编码问题

    【所谓unicode】

    unicode是一种类似于符号集的抽象编码,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。也就是它只是一种内部表示,不能直接保存。所以存储时需要规定一种存储形式,比如utf-8和utf-16等。理论上unicode是一种能够容纳全世界所有语言文字的编码方案。(其他编码格式不再多说)

    【所谓GB码】

    GB就是“国标”的意思,即:中华人民共和国国家标准。GB码是面向汉字的编码,包括GB2312(GB2312-80),GBK,GB18030,表示范围从小到大递增,而且基本是向下兼容的。此外经常遇到一种叫做CP936的编码,实际上可以大概看做是GBK。

    【判断编码】

    1、使用isinstance(s, str)来判断一个字符串是否为一般字符串(str为ascii类型的字符串,utf-8、utf-16、GB2312、GBK等都是ascii类型的字符串);

    使用isinstance(s, unicode)来判断一个字符串是否为unicode编码形式的字符串(unicode编码的字符串才是unicode类型的字符串)。

    2、使用type()或者.__class__

    在编码正确的情况下:

    例如:stra = "中", 则使用type(stra)的结果是<type 'str'>,表明为ascii类型字符串;

    例如:strb = u"中", 则使用type(strb)的结果是<type 'unicode'>,表明为unicode类型字符串。

    3、在将字典数据转换成DataFrame时,出现

    【解决方法】:

    添加参数:index = [0]

    r = pd.DataFrame(r,index = [0])

     4.在进行数据大小的条件比较时,出现:

    这种问题是因为数据当中出现了字符串类型或者其他,可以

    使用value_counts发现数据内容,可能会含有空值,该空值比较特殊,既不是None,也不是Null,而是一个空格

    in:        data1['coupon_money'].value_count()

    找到这些行之后删除就能解决这个问题。删除:data.drop(行号1,行号2,...)

  • 相关阅读:
    继承
    接口
    匿名内部类
    抽象类和接口的区别
    多态
    重载和覆写的区别|this和super区别
    Visual C# 2008+SQL Server 2005 数据库与网络开发――2.2.1 变量
    Visual C# 2008+SQL Server 2005 数据库与网络开发――2.3.1 选择语句
    Visual C# 2008+SQL Server 2005 数据库与网络开发―― 2.5错误和异常处理
    Visual C# 2008+SQL Server 2005 数据库与网络开发―― 2.3 语句
  • 原文地址:https://www.cnblogs.com/luban/p/9406827.html
Copyright © 2011-2022 走看看