用于解析的 Pandas datetime
索引和切片中的字符串令人信服,但是,它似乎停止解析 mm/dd/yyyy
作为日期格式。
以下代码示例均返回 error parsing datetime string
:
案例1:
import pandas as pd
#to_datetime method
pd.to_datetime(['05/05/2017', '11/13/2017'])
案例2:
#date_range
longer_ts = pd.Series(np.random.randn(1000),
index=pd.date_range('1/1/2000', periods=1000))
案例3:
#Slicing a Series
from datetime import datetime
dates = [datetime(2011, 1, 2), datetime(2011, 1, 5)]
ts = pd.Series(np.random.randn(2), index=dates)
ts['01/05/2011']
我知道我可以使用yyyy-mm-dd
或者我什至可以使用 parse()
来自dateutil.parser
.
顺便说一句,Wes McKinney 在他关于 Pandas 的书中多次使用了这种日期格式。
他们为什么停止支持它?
最佳答案
来自 to_datetime
的文档你可以看到有一个参数:
format : string, default None. strftime to parse time, eg “%d/%m/%Y”, note that “%f” will parse all the way up to nanoseconds.
这很好用,例如:
>>> pd.to_datetime(['05/05/2017', '11/13/2017'], format='%m/%d/%Y')
DatetimeIndex(['2017-05-05', '2017-11-13'], dtype='datetime64[ns]', freq=None)
请注意,'11/13/2017'
中有多余的空格。
请注意,您也可以将其与date_range
一起使用:
pd.date_range(pd.to_datetime('05/03/2017'), periods=200)
关于python - 为什么 Pandas 停止解析 mm/dd/yyyy 日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49830786/