在 python pandas 中,如何将此格式化日期字符串转换为日期时间
In python pandas, how can I convert this formatted date string to datetime
我已经尝试了几种使用 to_datetime
的方法,但到目前为止我只能将其设置为 return 数据类型 "object"
pd.to_datetime(pd.Series(['28Dec2013 19:23:15']),dayfirst=True)
此命令的 return 是:
0 28Dec2013 19:23:15
dtype: object
您可以将 format
参数传递给 to_datetime
函数。
>>> import pandas as pd
>>> df = pd.to_datetime(pd.Series(['28Dec2013 19:23:15']),format="%d%b%Y %H:%M:%S",dayfirst=True)
>>> df
0 2013-12-28 19:23:15
dtype: datetime64[ns]
如果您需要在此处转换数据框中的现有列,请使用辅助函数 conv
和 apply
方法解决方案。
import datetime
import pandas as pd
def conv(x):
return datetime.datetime.strptime(x, '%d%b%Y %H:%M:%S')
series = pd.Series(['28Dec2013 19:23:15'])
converted = series.apply(conv)
0 2013-12-28 19:23:15
dtype: datetime64[ns]
Pandas 无法识别该日期时间格式。
>>> pd.to_datetime(Series(['28Dec2013 19:23:15']))
0 28Dec2013 19:23:15
dtype: object
>>> pd.to_datetime(Series(['28 Dec 2013 19:23:15']))
0 2013-12-28 19:23:15
dtype: datetime64[ns]
您需要解析输入系列的字符串。正则表达式可能是一个很好的解决方案。
我已经尝试了几种使用 to_datetime
的方法,但到目前为止我只能将其设置为 return 数据类型 "object"
pd.to_datetime(pd.Series(['28Dec2013 19:23:15']),dayfirst=True)
此命令的 return 是:
0 28Dec2013 19:23:15
dtype: object
您可以将 format
参数传递给 to_datetime
函数。
>>> import pandas as pd
>>> df = pd.to_datetime(pd.Series(['28Dec2013 19:23:15']),format="%d%b%Y %H:%M:%S",dayfirst=True)
>>> df
0 2013-12-28 19:23:15
dtype: datetime64[ns]
如果您需要在此处转换数据框中的现有列,请使用辅助函数 conv
和 apply
方法解决方案。
import datetime
import pandas as pd
def conv(x):
return datetime.datetime.strptime(x, '%d%b%Y %H:%M:%S')
series = pd.Series(['28Dec2013 19:23:15'])
converted = series.apply(conv)
0 2013-12-28 19:23:15
dtype: datetime64[ns]
Pandas 无法识别该日期时间格式。
>>> pd.to_datetime(Series(['28Dec2013 19:23:15']))
0 28Dec2013 19:23:15
dtype: object
>>> pd.to_datetime(Series(['28 Dec 2013 19:23:15']))
0 2013-12-28 19:23:15
dtype: datetime64[ns]
您需要解析输入系列的字符串。正则表达式可能是一个很好的解决方案。