Python 熊猫:拯救';groupby';输出到csv,有关列索引和日期时间格式的详细信息丢失
我试图通过Pandas将groupby操作的输出保存到csv文件中。我的groupby操作是按变量“ID”分组和求和值的组合,然后按时间段(例如,按周)对这些求和值重新采样。这些命令看起来像Python 熊猫:拯救';groupby';输出到csv,有关列索引和日期时间格式的详细信息丢失,python,pandas,csv,dataframe,Python,Pandas,Csv,Dataframe,我试图通过Pandas将groupby操作的输出保存到csv文件中。我的groupby操作是按变量“ID”分组和求和值的组合,然后按时间段(例如,按周)对这些求和值重新采样。这些命令看起来像 tdGroupedWeek = (taxiData.groupby(['Taxi ID', pd.Grouper(freq='W', key='Trip End Timestamp')]) ['Trip Total'] .sum() .unstack(f
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时,数据帧似乎丢失了将列索引命名为“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]
访问特定索引,并将应用于_datetime
不起作用,因为它返回“索引不支持可变操作”
这并不能回答csv上下文中的问题,但以hdf5格式保存数据帧实际上保留了多索引以及日期时间对象。read\u csv或它是从\u csv有一个解析日期kwarg
read\u csv
的header
参数将获取组成多索引的行列表。但是在to\u csv
操作期间,细节实际上丢失了,那么检索不是有点复杂吗?