'系列'对象是可变的,因此它们不能被散列,错误地调用to_csv[英] 'Series' objects are mutable, thus they cannot be hashed error calling to_csv

本文是小编为大家收集整理的关于'系列'对象是可变的,因此它们不能被散列,错误地调用to_csv的处理方法,想解了'系列'对象是可变的,因此它们不能被散列,错误地调用to_csv的问题怎么解决?'系列'对象是可变的,因此它们不能被散列,错误地调用to_csv问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我有一个大的数据框(5天,每秒一个值,几列),我想将其保存在带有python pandas df.to_csv module的CSV文件中.

我尝试了不同的方式,但总是收到错误消息:

'系列的对象是可变的,因此不能被哈希进行

我找到了与GroupBy相关的解决方案,但与文件保存无关. 有人对我有一个主意吗?

这是我的数据框的一部分:

DateTime
2015-07-14 00:00:00    414.37
2015-07-14 00:00:00    414.37
2015-07-14 00:00:01    414.29
2015-07-14 00:00:02    414.14
2015-07-14 00:00:03    414.21
2015-07-14 00:00:04    414.05
2015-07-14 00:00:05    414.05
2015-07-14 00:00:06     414.2
2015-07-14 00:00:07    414.54
2015-07-14 00:00:08    414.39
Name: CO2abs, dtype: object DateTime

编辑: 抱歉 - 忘记代码...

df.to_csv('alldatcorr.csv',sep='\t',cols=(df.CO2abs,df.CO2corr))

推荐答案

您的错误出现了,因为您通过了系列元组,而不是列名称/字符串的元组:

df.to_csv('alldatcorr.csv',sep='\t',cols=(df.CO2abs,df.CO2corr))

所以您发现这有效:

df.to_csv('corr2.csv',sep='\t',cols=('CO2abs','CO2corr'))

您可以通过通过列表和使用子标题操作员从DF进行子选择来避免歧义:

df[['CO2abs','CO2corr']].to_csv('corr2.csv',sep='\t')

也可能更可读性,而不是元组

本文地址:https://www.itbaoku.cn/post/1727955.html