我试图通过Pandas将groupby操作的输出保存到csv文件中。我的groupby操作是按变量'ID'分组并求和值,然后按时间段(例如按周)对这些求和值重新采样的组合。命令看起来像
tdGroupedWeek = (taxiData.groupby(['Taxi ID', pd.Grouper(freq='W', key='Trip End Timestamp')])
['Trip Total']
.sum()
.unstack(fill_value=0))
tdGroupedWeek.to_csv('week.csv', sep='\t', date_format='%Y-%m-%d %H:%M:%S')
保存前,数据框如下所示:
Trip End Timestamp 2013-01-06 00:00:00 2013-01-13 00:00:00 2013-01-20 00:00:00 2013-01-27 00:00:00 2013-02-03 00:00:00 2013-02-10 00:00:00
Taxi ID
A 0.0 0.0 0.00 0.00 0.0 0.00
B 0.0 0.0 0.00 0.00 0.0 0.00
C 0.0 0.0 0.00 0.00 0.0 0.00
D 0.0 0.0 1181.28 458.46 0.0 687.57
E 0.0 0.0 0.00 0.00 0.0 0.00
但是,当我重新打开这个csv时,dataframe似乎丢失了将列索引命名为“Trip End Timestamp”的额外标识符,而且我也很难再次将列名转换为datetime对象,因为它们被转换为字符串。现在,数据帧看起来像:
Taxi ID 2013-01-06 00:00:00 2013-01-13 00:00:00 2013-01-20 00:00:00 2013-01-27 00:00:00 2013-02-03 00:00:00 2013-02-10 00:00:00
0 A 0.0 0.0 0.00 0.00 0.0 0.00
1 B 0.0 0.0 0.00 0.00 0.0 0.00
2 C 0.0 0.0 0.00 0.00 0.0 0.00
3 D 0.0 0.0 1181.28 458.46 0.0 687.57
4 E 0.0 0.0 0.00 0.00 0.0 0.00
在编写csv时,有没有一种方法可以保留该细节;或者有没有一种方法可以
以df.columns[i]
的形式访问特定索引并应用to_datetime
不起作用,因为它返回“索引不支持可变操作”。你知道吗
这并不能回答csv上下文中的问题,但以hdf5格式保存数据帧实际上保留了多索引和datetime对象。你知道吗
相关问题 更多 >
编程相关推荐