pd.to_datetime() 使用西班牙语语言环境系统
pd.to_datetime() with spanish locale system
d1 = today.strftime("%b-%y")
print("d1 =", d1)
d1 = ene.-21
但是我想在我的数据集中转换的变量是 Jan-21。
我的代码
data['date_text_DATE'] = pd.to_datetime(data['date_text'], format = '%b-%y')
我得到的错误:
ValueError: time data 'Jan-21' does not match format '%b-%y' (match)
它不会将文本转换为日期格式。
编辑:作者在下面的评论中指出问题是由于他们的 Python/R 环境造成的。
我不确定你想用 d1
变量完成什么,但我创建的示例对我来说工作正常。
我怀疑您的列中有一个值不符合日期模式。你能分享整个数据集或那一列吗
这是我所做的。
df = pd.DataFrame(data={'a':'Jan-21'}, index=[0])
pd.to_datetime(df['a'], format='%b-%y')
而且效果很好。
您可能想检查一下您的编码是否在做一些奇怪的事情,也许是西里尔字母之类的。以下应return425
:sum([ord(l) for l in 'Jan-21'])
其中 'Jan-21' 应该是 Pandas 数据框中的单元格值,显然不是我在上面输入的值。
编辑 2:有关该问题的更多详细信息,来自对 OP 有帮助的评论。
df['a'].dt.strftime(date_format='%b-%Y')
会将 mmm-yy
格式的任何值转换为日期时间。所有 pandas 系列都有一个 .dt
访问器,它为您提供了许多 datetime
相关功能,例如能够 return .weekofyear 或 .second,以及 .strftime
(字符串格式时间)是一种非常常见的 Python 方法,它允许使用您需要的格式样式对日期时间进行字符串格式化。您可以更改正斜杠的破折号等。您可以在此 link 查看所有格式选项:https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes
有关 .dt 访问器的更多信息:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.dt.strftime.html
还有
如果您在日期时间方面遇到错误,并且看起来绝对确定您正在做正确的事情(例如编辑 2 中给出的示例),那么按顺序重新安装和升级您的日期时间模块:
- pip 卸载日期时间
- pip 安装日期时间
- pip 安装日期时间 --upgrade
d1 = today.strftime("%b-%y")
print("d1 =", d1)
d1 = ene.-21
但是我想在我的数据集中转换的变量是 Jan-21。
我的代码
data['date_text_DATE'] = pd.to_datetime(data['date_text'], format = '%b-%y')
我得到的错误:
ValueError: time data 'Jan-21' does not match format '%b-%y' (match)
它不会将文本转换为日期格式。
编辑:作者在下面的评论中指出问题是由于他们的 Python/R 环境造成的。
我不确定你想用 d1
变量完成什么,但我创建的示例对我来说工作正常。
我怀疑您的列中有一个值不符合日期模式。你能分享整个数据集或那一列吗
这是我所做的。
df = pd.DataFrame(data={'a':'Jan-21'}, index=[0])
pd.to_datetime(df['a'], format='%b-%y')
而且效果很好。
您可能想检查一下您的编码是否在做一些奇怪的事情,也许是西里尔字母之类的。以下应return425
:sum([ord(l) for l in 'Jan-21'])
其中 'Jan-21' 应该是 Pandas 数据框中的单元格值,显然不是我在上面输入的值。
编辑 2:有关该问题的更多详细信息,来自对 OP 有帮助的评论。
df['a'].dt.strftime(date_format='%b-%Y')
会将 mmm-yy
格式的任何值转换为日期时间。所有 pandas 系列都有一个 .dt
访问器,它为您提供了许多 datetime
相关功能,例如能够 return .weekofyear 或 .second,以及 .strftime
(字符串格式时间)是一种非常常见的 Python 方法,它允许使用您需要的格式样式对日期时间进行字符串格式化。您可以更改正斜杠的破折号等。您可以在此 link 查看所有格式选项:https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes
有关 .dt 访问器的更多信息:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.dt.strftime.html
还有
如果您在日期时间方面遇到错误,并且看起来绝对确定您正在做正确的事情(例如编辑 2 中给出的示例),那么按顺序重新安装和升级您的日期时间模块:
- pip 卸载日期时间
- pip 安装日期时间
- pip 安装日期时间 --upgrade