Python 熊猫:拯救';groupby';输出到csv,有关列索引和日期时间格式的详细信息丢失

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

我试图通过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时,数据帧似乎丢失了将列索引命名为“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时是否有办法保留该细节;还是有办法

  • 是否将某些列名转换为datetime对象
  • 作为
    df.columns[i]
    访问特定索引,并将
    应用于_datetime
    不起作用,因为它返回“索引不支持可变操作”

  • 是否再次将标题行重命名为“行程结束时间戳”

  • 这并不能回答csv上下文中的问题,但以hdf5格式保存数据帧实际上保留了多索引以及日期时间对象。

    read\u csv或它是从\u csv有一个解析日期kwarg
    read\u csv
    header
    参数将获取组成多索引的行列表。但是在
    to\u csv
    操作期间,细节实际上丢失了,那么检索不是有点复杂吗?