我的原始数据是CSV格式。我将其作为pandas数据帧加载,并将datetime字段作为对象加载。
datetime1 22773 non-null object
datetime2 22771 non-null object
使用pd.to_datetime(df['datetime1'])
我将其转换为 - datetime64[ns]
。
但这样做的实际值增加了7个小时。
我有两个问题 -
单位datetime64[ns]
是什么?是基于unix时间还是其他时区?
如何减去7小时并保留实际值,但我的字段格式仍为日期时间?
答案 0 :(得分:0)
它只是一种基于numpy的datetime64 [ns]的数据类型。它不包含改变数据的时区属性
df["existing or new column"] = df["datetime1] - pd.Timedelta(7, 'h')
此外,当您使用parse_dates参数读取csv时,您始终可以转换为日期时间。那种方式可以跳过pd.to_datetime()步骤
df = pd.read_csv("filename", parse_dates = ["datetime1","datetime2"])