使用pandas进行数据分析,常见的报错解决(长期更新)

本文记录了使用Python pandas进行数据分析时遇到的常见错误及其解决方法,包括ValueError、pivot_table输出问题、多行选择问题、DtypeWarning、文件读取错误、列名不一致、增加新列等,并提供了详细的解决方案。同时提到了pandas的concat、TypeError、KeyError、AttributeError、TabError等常见问题的处理策略。

更多文章可关注微信公众号:excelwork 或 Excel办公小技巧

当做数据分析,面对大数据量时,不可避免使用Python进行数据处理,而对于我这种没有开发能力的人来说,借用现成的Python包、方法等就非常关键。但是同样也会遇到大量的报错、问题等,所以单独写一篇记录我的报错解决历程。

1. 合并的时候出现了ValueError: All objects passed were None

先定位要处理什么,再看下处理所用的函数等,是否已经收到了传入的数据

2. pivot_table结果通过to_excel输出,基本看不到输出

解决:进行索引重置,reset_index()

3. pycharm里按住alt选择多行,进行后续操作,但是不能实现

解决:选择需要操作的行,使用shift+tab反向缩进,使用tab正常的缩进

4. 数据通过pivot_table透视后,汇总量变少了怎么回事?

解决:还是空值造成的,fillna函数替换空值时,记得inplace=True

5. DtypeWarning: Columns (12,13) have mixed types.Specify dtype option on import or set low_memory=False.

按提示set low_memory=False,或者修改列字段类型

6.xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b',\xc8\xfd\xb4\xce\xbb\xd8\xc1'

看看是不是文件类型跟读取的不一致

7.列名不一致咋整

dfcolumns=['...']#先做一个重命名好的列表
data.columns=dfcolumns#再替换原来的列

8. 如何在指定位置增加新列

col_name = df_abnormal.columns.tolist()
col_name.insert(3, '列名1')
col_name.insert(4, '列名2')
col_name.insert(5, '列名3')
df_abnormal = df_abnormal.reindex(columns=col_name)

9. Passing list-likes to .loc or [] with any missing labels is no longer supported,

看看是不是列名不一致导致的

Python新手值得看的常见报错简单处理:

一、pandas concat使用报错

问题:

    合并之后的的dateframe,合并后却显示NaN。

解决:

1. 查看是否需要reset_index;

2. 是否未设置连接方向axis;

3. 是否需要修改astype。

二、烦人的TypeError

问题:

    TypeError错误非常常见,具体场景下对应不同问题,需要不同的解决方式,如TypeError: sort_index() got an unexpected keyword argument ‘by’

解决:

    pandas模块更新了,对有些方法进行重写,参数发生改变。

解决方法:将sort_index()改为sort_values()即可

三、更烦人的KeyError

问题:

    比TypeError错误还常见,不是什么大问题,但是找起原因来很是麻烦。如下这种问题,就是相对容易些的:"['atv'] not in index"

解决:

    看下数据文件是不是真没有。

四、AttributeError

问题:

    出现了AttributeError说明找不到Python的这个属性了,比如AttributeError: 'ClusterCentroids' object has no attribute 'fit_sample'

解决:

    这种问题出现,可以找找是不是函数名写错了,函数是不是不存在了,比如版本更新,像本例中fit_sample改为fit_resample就可以了。

五、TabError

问题:

    报错如TabError: inconsistent use of tabs and spaces in indentation。

解决:

    从字面上看,是tab键和空格在缩进上混用了。这种问题比较好处理,利用一些编辑器校正下,或者全部用tab或全部用4个空格。

六、简单的几个报错

        这个部分说的报错浅显好懂易解决:

        SyntaxError:多个少个分号、句号、中英文字符混用、关键字写错都会导致报错;

        NameError:变量名错了,提示在哪行就改哪;

        ValueError:函数期望传入什么,你却传另一种类型,就报错了;

        IndentationError:真正的缩进错误来了,多了少了都会报错,改了就好了;

        FileNotFoundError:文件没找到,路径是不是不对,文件是不是就不存在,或者文件名写错了;

        IndexError:索引不存在或者超出索引范围。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值