Python 熊猫约会时间在非美国日期有不一致的行为
我对熊猫在非美国日期的行为感到困惑 在这个简单的例子中,Pandas正确地推断了第2行和第3行的月份,但在第1行和第4行都失败了 显然,它将第2行和第3行视为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
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到此链接