我对大熊猫to_datetime
在非美国约会时的行为感到困惑。
在这个简单的例子中,Pandas 在第 2 行和第 3 行都正确推断了月份,但在第 1 行和第 4 行都失败了。
显然它将第 2 行和第 3 行视为dd/mm/yyyy
日期(因为 13 和 27 显然不能是月份),但将剩余日期视为mm/dd/yyyy
.
我的期望是to_datetime
从整个系列中推断出来,然后对每个条目都一视同仁。
import pandas as pd
results = pd.DataFrame()
european_dates = pd.Series(['05/04/2007', # <-- April 5th, 2007
'13/04/2006', # <-- April 13th, 2006
'27/12/2014', # <-- December 27th, 2014
'02/07/2010']) # <-- July 2nd, 2010
# note: the same happens with infer_datetime_format=False
inferred_dates = pd.to_datetime(european_dates,
infer_datetime_format=True)
results['day'] = inferred_dates.dt.day
results['month'] = inferred_dates.dt.month
results['year'] = inferred_dates.dt.year
results
注意:我知道to_datetime
有一个dayfirst
论点和一个format
论点,我的问题主要是关于为什么infer_datetime_format
在这种微不足道的情况下会失败。