python - 如何将类型为 "object"的时间戳列转换为正确的 "time"类型?

标签 python pandas dataframe

我有一个数据框,其中有一列时间戳如下:

0         2016-10-26T00:26:35+00:00
1         2016-10-26T00:26:44+00:00
2         2016-10-26T00:26:37+00:00
3         2016-10-26T00:26:27+00:00
4         2016-10-26T00:26:32+00:00
5         2016-10-26T00:26:37+00:00
6         2016-10-26T00:26:42+00:00
7         2016-10-26T00:26:42+00:00
8         2016-10-26T00:26:45+00:00
9         2016-10-26T00:26:46+00:00
10        2016-10-26T00:26:42+00:00
11        2016-10-26T00:26:46+00:00
12        2016-10-26T00:26:52+00:00
13        2016-10-26T00:26:56+00:00
14        2016-10-26T00:27:00+00:00
15        2016-10-26T00:27:03+00:00
16        2016-10-26T00:27:06+00:00
17        2016-10-26T00:18:28+00:00
18        2016-10-26T00:18:28+00:00
19        2016-10-26T00:18:35+00:00
20        2016-10-26T00:18:31+00:00
21        2016-10-26T00:18:27+00:00
22        2016-10-26T00:18:34+00:00
23        2016-10-26T00:18:43+00:00
24        2016-10-26T00:18:43+00:00
25        2016-10-26T00:18:43+00:00
26        2016-10-26T00:18:50+00:00
27        2016-10-26T00:19:02+00:00
28        2016-10-26T00:19:05+00:00
29        2016-10-26T00:18:39+00:00

我想将该列转换为正确的“时间”类型,以便以后可以使用该时间。我尝试使用 pd.to_datetime(df['time'], unit='s', utc=True),但收到错误消息:

ValueError: non convertible value 2016-10-26T00:26:35+00:00with the unit 's'

所以问题是进行这种转换的正确方法是什么?谢谢!

最佳答案

你的尝试失败了,因为这里的单元参数期望输入系列是数字,在这种情况下它不是,事实上你根本不需要传递任何参数:

In [23]:
pd.to_datetime(df['time'])

Out[23]:
0    2016-10-26 00:26:35
1    2016-10-26 00:26:44
2    2016-10-26 00:26:37
3    2016-10-26 00:26:27
4    2016-10-26 00:26:32
5    2016-10-26 00:26:37
6    2016-10-26 00:26:42
7    2016-10-26 00:26:42
8    2016-10-26 00:26:45
9    2016-10-26 00:26:46
10   2016-10-26 00:26:42
11   2016-10-26 00:26:46
12   2016-10-26 00:26:52
13   2016-10-26 00:26:56
14   2016-10-26 00:27:00
15   2016-10-26 00:27:03
16   2016-10-26 00:27:06
17   2016-10-26 00:18:28
18   2016-10-26 00:18:28
19   2016-10-26 00:18:35
20   2016-10-26 00:18:31
21   2016-10-26 00:18:27
22   2016-10-26 00:18:34
23   2016-10-26 00:18:43
24   2016-10-26 00:18:43
25   2016-10-26 00:18:43
26   2016-10-26 00:18:50
27   2016-10-26 00:19:02
28   2016-10-26 00:19:05
29   2016-10-26 00:18:39
Name: time, dtype: datetime64[ns]

所以在这里to_datetime很好地处理字符串

关于python - 如何将类型为 "object"的时间戳列转换为正确的 "time"类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40593472/

相关文章:

python - 将行视为外部定义类的实例吗?

python - 如何创建虚拟变量然后使用 scikit-learn 进行聚合?

python - 展平或解压 DataFrame 中嵌套字典的列表

python - Node.js 使用 chrome-remote-interface 进行抓取

Python:错误 - tabula-py 无法读取 PDF

pandas - Zulu 格式的时间戳字符串转日期时间

python - 检查值是否在 pandas.DataFrame 的列列表中

python - 有没有办法获得多条曲线与另一条曲线的所有交点?

python - 将虚拟列添加到原始数据框

python - 为什么在 PySpark 中有两种读取 CSV 文件的选项?我应该使用哪一个?