Python 需要从表中将单词month转换为数字

Python 需要从表中将单词month转换为数字,python,pandas,datetime,Python,Pandas,Datetime,我想将df['Date']列转换为数字时间格式: 当前格式,即2019年10月9日-->2019年10月9日 这是我的代码,但在打印之前我没有收到错误。谢谢你的支持 我做了一些改变, 我想将当前时间格式转换为数字时间格式,即:2019年10月9日-->2019年10月9日,在表格的一列中 from time import strptime strptime('Feb','%b').tm_mon Date_list = df['Date'].tolist() Date_num = [] fo

我想将df['Date']列转换为数字时间格式: 当前格式,即2019年10月9日-->2019年10月9日 这是我的代码,但在打印之前我没有收到错误。谢谢你的支持

我做了一些改变, 我想将当前时间格式转换为数字时间格式,即:2019年10月9日-->2019年10月9日,在表格的一列中

from time import strptime

strptime('Feb','%b').tm_mon


Date_list = df['Date'].tolist()
Date_num = []
for i in Date_list:
    num_i=strptime('[i[0:3]]', '%b').tm_mon
    Date_num.append(num_i)
df['Date'] = Date_num 
print(df['Date'])
我得到的错误消息如下: 键错误
ValueError:时间数据“[i[0:3]”与格式“%b”不匹配

Date
Oct 09, 2019
Oct 08, 2019
Oct 07, 2019
Oct 04, 2019
Oct 03, 2019

假设
df
中的
Date
列为str/object类型。 可以通过运行
pd.dtypes
进行验证。 在这种情况下,您可以通过键入直接将列转换为
datetime

df['Date'] = df['Date'].astype('datetime64[ns]')
它将以默认格式
2019-10-09
显示日期。如果您需要,您可以通过执行以下操作非常轻松地将其转换为您想要的任何其他日期格式

pd.dt.dt.strftime("%d-%m-%Y")

有关pandas datetime功能/操作的更多信息,请浏览

欢迎使用StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南。适用于这里。在您发布MCVE代码并准确指定问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中,并重现您指定的问题。您发布的代码崩溃,因为
df
未定义。错误告诉您,您提供的密钥,
i[0:3]
,不在dict中。由于您未能提供数据帧或任何程序跟踪,我们无法给您太多帮助。请使用,不要转换为列表,也不要迭代!我建议将其保留为datetime对象,而不是转换回字符串。注意:您需要指定
格式
参数。用作参考,以确定案例中的
格式
字符串应该是什么。作为提示,请将格式字符串中的空格和逗号与日期字符串中的空格和逗号保持一致。但是,将实际的文本字符串“[i[0:3]]”传递到strtime,与
“[i[0:3]]”
的值相比,您似乎也很困惑。非常感谢您,一切都是可行的!问题解决了。