当将列重新编辑为pd.datetime时,Pandas会使小时数消失

时间:2017-10-30 11:34:04

标签: python pandas datetime

给出以下数据框:

    Name        Loc              DateTime               RecordId    RST
0   SwingBridge (47.57, -122.35) 08/01/2016 12:00:00 AM 1854751     76.06   
1   Roosevelt   (47.69, -122.31) 08/01/2016 12:00:00 AM 1941744     2.26

使用

从csv文件读入
filename='my.csv'
df=pd.read_csv(filename, 
                 dtype={'Name': str, 'Loc': object, 
                        'RecordId':int, 'RST': float})

如果我使用parse_date=['DateTime']阅读日期或将其重新命名为 df['DateTime'] = pd.to_datetime(df['DateTime'])为什么血腥时间会消失?

    Name        Loc              DateTime       RecordId    RST
0   SwingBridge (47.57, -122.35) 08/01/2016     1854751     76.06   
1   Roosevelt   (47.69, -122.31) 08/01/2016     1941744     2.26

1 个答案:

答案 0 :(得分:2)

这只是一个显示问题,默认情况下,当时间等于00:00时,或者在您的情况下12:00 AM,如果您查看单个元素的值,则不显示,时间成分仍在那里。

示例:

In[4]:
import pandas as pd
import io
t="""DateTime
08/01/2016 12:00:00 AM"""
df = pd.read_csv(io.StringIO(t), parse_dates=[0])
df
Out[4]: 
    DateTime
0 2016-08-01

In[5]:    
df['DateTime'].iloc[0]

Out[5]: Timestamp('2016-08-01 00:00:00')