Pandas代码在Python3.6正常运行,Python3.5(树莓派3)报错求助
快速揪出问题根源!
嘿,这种跨版本环境的坑我碰过好多次,大概率是pandas版本差异搞的鬼,不用急着贴全脚本,先看这个核心关键点:
- 你代码里用的
df.set_index(..., append=True)这个append参数,是pandas 0.23.0版本才新增的特性 - 树莓派上的Python3.5默认安装的pandas版本基本都低于0.23.0(毕竟Python3.5本身已是较老版本,配套库版本也会跟着偏旧)
先验证一下版本,在树莓派的Python终端里跑这两行:
import pandas as pd print(pd.__version__)
如果版本确实低于0.23.0,解决起来超简单,用旧版本兼容的写法替换原来的那一行就行:
# 替代原代码的一行 cum_counts = df.groupby('Timestamp').cumcount() df = df.set_index([df.index, cum_counts])
这个写法和append=True的效果完全一致,而且能在旧版pandas里正常运行。
当然你也可以选择升级树莓派上的pandas,但要注意Python3.5的兼容限制——pandas 1.0及以后的版本不再支持Python3.5,所以最高只能升到0.25.3版本,升级命令是:
pip3 install pandas==0.25.3
不过个人更推荐用兼容写法,避免升级可能带来的其他依赖冲突问题~
内容的提问来源于stack exchange,提问作者ACF
相关产品推荐
相关产品推荐

