pandas 以动态方式转换时间戳
pandas convert timestamp in a dynamic way
我有一个具有以下时间戳的数据框。总计 5600000 行!
time SD
2016-01-02 11:23:04.299000+00:00 1
2016-02-02 11:23:04.299000+00:00 2
2016-03-02 11:23:04.299000+00:00 2
2016-04-01 11:23:04.299000+00:00 3
因为我在做下面的操作,所以报错
(TypeError: Timestamp subtraction must have the same timezones or no timezones)
(pd.to_datetime("2016-01-02 11:23:04.299000+00:00") - pd.Timestamp("1970-01-01"))
我知道问题所在,可以通过(pd.to_datetime("2016-01-02 11:23:04") - pd.Timestamp("1970-01-01"))
解决
我正在为这个问题寻找一个优化的解决方案,因为我认为它不是一个迭代所有“时间”行的好方法,它需要很多时间。
我得到的格式可能与我现在在数据框中的格式不同。
我可以用“pandas”做些什么吗?
提前致谢!
IIUC 这将使用 numpy 和 pandas 来获取两列之间的数据差异,而第二列没有时区
import pandas as pd
import numpy as np
df['time'] = pd.to_datetime(df['time'], infer_datetime_format = True)
df['date_to_subtract'] = pd.to_datetime('1970-01-01')
df['difference'] = df['time'].values - df['date_to_subtract'].values
我有一个具有以下时间戳的数据框。总计 5600000 行!
time SD
2016-01-02 11:23:04.299000+00:00 1
2016-02-02 11:23:04.299000+00:00 2
2016-03-02 11:23:04.299000+00:00 2
2016-04-01 11:23:04.299000+00:00 3
因为我在做下面的操作,所以报错
(TypeError: Timestamp subtraction must have the same timezones or no timezones)
(pd.to_datetime("2016-01-02 11:23:04.299000+00:00") - pd.Timestamp("1970-01-01"))
我知道问题所在,可以通过(pd.to_datetime("2016-01-02 11:23:04") - pd.Timestamp("1970-01-01"))
我正在为这个问题寻找一个优化的解决方案,因为我认为它不是一个迭代所有“时间”行的好方法,它需要很多时间。
我得到的格式可能与我现在在数据框中的格式不同。
我可以用“pandas”做些什么吗? 提前致谢!
IIUC 这将使用 numpy 和 pandas 来获取两列之间的数据差异,而第二列没有时区
import pandas as pd
import numpy as np
df['time'] = pd.to_datetime(df['time'], infer_datetime_format = True)
df['date_to_subtract'] = pd.to_datetime('1970-01-01')
df['difference'] = df['time'].values - df['date_to_subtract'].values