Python 熊猫约会时间在非美国日期有不一致的行为

Python 熊猫约会时间在非美国日期有不一致的行为,python,pandas,datetime,time-series,string-to-datetime,Python,Pandas,Datetime,Time Series,String 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

我对熊猫在非美国日期的行为感到困惑

在这个简单的例子中,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
将熊猫作为pd导入
结果=pd.DataFrame()

欧洲日期=pd.系列(['05/04/2007',#使用
dayfirst
中的
to_datetime

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 
inferred_dates = pd.to_datetime(european_dates,dayfirst =True) 
results = pd.DataFrame()
results['day'] = inferred_dates.dt.day
results['month'] = inferred_dates.dt.month
results['year'] = inferred_dates.dt.year
results
Out[109]: 
   day  month  year
0    5      4  2007
1   13      4  2006
2   27     12  2014
3    2      7  2010

european_dates=pd.系列(['05/04/2007',#谢谢你的回答,但正如我在原始问题中提到的,我知道
dayfirst
format
。问题是
Inferre\u datetime\u format
的行为为什么不一致,而不是找到解决办法。@sapo\u cosmico cause dayfirst默认值在第一个可以更改时为false月将转换为m而不是dTrue,您知道是否有任何方法可以让它一致地推断?(即“如果不是所有行都可以有月首,则永远不能是月首”)@sapo_cosmico rafer到此链接