python中的datetime转换和操作

时间:2015-04-20 01:25:29

标签: python datetime pandas

我的原始数据是CSV格式。我将其作为pandas数据帧加载,并将datetime字段作为对象加载。

datetime1   22773 non-null object
datetime2   22771 non-null object

使用pd.to_datetime(df['datetime1'])我将其转换为 - datetime64[ns]

但这样做的实际值增加了7个小时。

我有两个问题 -

  1. 单位datetime64[ns]是什么?是基于unix时间还是其他时区?

  2. 如何减去7小时并保留实际值,但我的字段格式仍为日期时间?

1 个答案:

答案 0 :(得分:0)

  1. 它只是一种基于numpy的datetime64 [ns]的数据类型。它不包含改变数据的时区属性

  2. df["existing or new column"] = df["datetime1] - pd.Timedelta(7, 'h')

  3. 此外,当您使用parse_dates参数读取csv时,您始终可以转换为日期时间。那种方式可以跳过pd.to_datetime()步骤

    df = pd.read_csv("filename", parse_dates = ["datetime1","datetime2"])