将strptime函数应用于pandas系列

2024-05-23 14:30:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandas数据系列,它包含一个字符串格式的日期,格式如下:

2016-01-14 11:39:54

我想把字符串转换成时间戳。

我正在使用apply方法试图将“datetime.strtime”传递给序列中的每个元素

date_series = date_string.apply(datetime.strptime, args=('%Y-%m-%d %H:%M:%S'))

运行代码时,会出现以下错误:

strptime() takes exactly 2 arguments (18 given)

我的问题是(1)我是否采取了正确的方法,(2)为什么strptime要将我的参数转换成18个参数?


Tags: 数据方法字符串元素pandas参数datetimedate
1条回答
网友
1楼 · 发布于 2024-05-23 14:30:19

使用^{}

date_series = pd.to_datetime(date_string)

一般来说,如果你打算在熊猫身上工作,最好把你的约会对象定为熊猫而不是Python的。您可能还想查看Time Series / Date functionality documentation

至于为什么apply不起作用,args不是作为元组读取的,而是作为一个字符串被分解成17个字符,每个字符都被解释为一个单独的参数。要将其作为元组读取,请添加逗号:args=('%Y-%m-%d %H:%M:%S',)

这是Python中的标准行为。请考虑以下示例:

x = ('a')
y = ('a',)
print('x info:', x, type(x))
print('y info:', y, type(y))

x info: a <class 'str'>
y info: ('a',) <class 'tuple'>

相关问题 更多 >