'Series' 对象是可变的,因此它们不能被散列错误调用 to_csv
'Series' objects are mutable, thus they cannot be hashed error calling to_csv
我有一个大数据框(5 天,每秒一个值,几列),我想将其中的 2 列保存在一个 csv 文件中 python pandas df.to_csv模块。
我尝试了不同的方法,但总是收到错误消息:
'Series' 对象是可变的,因此它们不能被散列
我找到了与 groupby 相关但与文件保存无关的解决方案。
有人对我有想法吗?
这是我的 Dataframe 的一部分:
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))
你的错误出现是因为你传递了一个系列的元组而不是一个列names/strings:
的元组
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')
此外,传递字符串列表而不是元组可能更具可读性
我有一个大数据框(5 天,每秒一个值,几列),我想将其中的 2 列保存在一个 csv 文件中 python pandas df.to_csv模块。
我尝试了不同的方法,但总是收到错误消息:
'Series' 对象是可变的,因此它们不能被散列
我找到了与 groupby 相关但与文件保存无关的解决方案。 有人对我有想法吗?
这是我的 Dataframe 的一部分:
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))
你的错误出现是因为你传递了一个系列的元组而不是一个列names/strings:
的元组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')
此外,传递字符串列表而不是元组可能更具可读性