- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 pandas 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
在这种微不足道的情况下失败。
最佳答案
在 to_datetime
中使用 dayfirst
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
关于python - Pandas to_datetime 在非美国日期上的行为不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50033145/
ruby 1.9.3dev(2011-09-23 修订版 33323)[i686-linux] 轨道 3.0.20 最近为什么在与 DateTime on Rails 相关的 RSpecs 项目上工作
我在这里过得很艰难。 我的 DataFrame 看起来像这样 Purchase_Date Customer_ID Gender 0 2012-12-18 00:00:00
我是 Pandas 的新手,当我运行下面的代码时,我得到了不同的结果: import pandas as pd ts = pd.to_datetime("2014-6-10 10:10:10.30",
我读入了一个包含日期的 CSV 文件。有些日期可能格式错误,我想找到那些。通过以下方法,我会期望第二行是NaT。但是无论我设置 infer_datetime_format 还是 exact,panda
我从一个 csv 文件中提取了下表: 时间戳 user_id 成本 val1 2011 年 1 月 1 日 01/07/2012 01/09/2013 01/02/2011 为此,我使用了以下语句:
我有一个看起来像这样的数据集: date id 0 2014-01-01 11000929 1 2014-01-01 11000190 2 2014-01-01
晚上好, 我有一个数据框(Pandas),其中有一列代表日期,格式如下: print(df["date"]) 14/01/18 12:47 14/01/18 12:48 14/01/18 12:50
我对 pandas to_datetime 在非美国日期的行为感到困惑。 在这个简单的例子中,Pandas 正确地推断出第 2 行和第 3 行的月份,但在第 1 行和第 4 行失败。 显然它将第 2
我有一个看起来像这样的数据集: date id 0 2014-01-01 11000929 1 2014-01-01 11000190 2 2014-01-01
我对这个标题表示歉意,但无法找到更好的措辞方式。 当我尝试运行时 pd.to_datetime(df['TimeStamp'], format='%Y-%m-%d %H:%M:%S.%f') 我收到以
我正在使用 pd.to_datetime 将字符串转换为 datetime; df = pd.DataFrame(data={'id':['DD-83']}) pd.to_datetime(df['i
我有以下数据框: month value 0 1949-01 3 1 1949-02 4 2 1949-03 5 df['month'] = pd.to_
我有一个 df,其条目主要是 'yyyymmdd' 日期字符串,但也有一些 'nan' 值。请注意,这里这些'nan'是字符串而不是浮点nan。现在我想将 df 中的所有日期字符串转换为 pandas
将三列转换为日期时间时,如何删除多索引列中的级别?下面的示例仅包含三列,而在我的日期框中当然还有更多列,并且其他列使用两个级别名称。 >>> import pandas as pd >
我有一个数据框,其中包含 YYYYMM 形式的日期(例如 201704)。 尝试将其转换为日期时间类型: data['ym'] = pd.to_datetime(data['ym'],format="
我正在阅读两种非常相似的 csv 文件。它们的长度大致相同,为 20 000 行。每条线代表每秒记录的参数。因此,第一列是时间戳。 在第一个文件中,模式如下:2018-09-24 15:38 在第二个
我有一个包含日期列的数据集: cod date value 0 1O8 2015-01-01 00:00:00 2.1 1 1
我正在尝试将一列 str 类型转换为 datetime 类型。但是当我写代码时: df.timeStamp = df.timeStamp.to_datetime 它只是告诉我 AttributeErr
我的数据框有一个“日期”列,它是对象类型,但我想将它转换为 pandas 时间序列。所以我正在使用 pd.to_datetime 函数。此函数正在转换数据类型,但输出不稳定。 代码: x1['TS']
有一个这样的 df: Dat 10/01/2016 11/01/2014 12/02/2013 “Dat”列具有对象类型,因此我尝试使用 to_datetime () pandas 函数将其切换为日期
我是一名优秀的程序员,十分优秀!