- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含日期列的数据集:
cod date value
0 1O8 2015-01-01 00:00:00 2.1
1 1O8 2015-01-01 01:00:00 2.3
2 1O8 2015-01-01 02:00:00 3.5
3 1O8 2015-01-01 03:00:00 4.5
4 1O8 2015-01-01 04:00:00 4.4
5 1O8 2015-01-01 05:00:00 3.2
6 1O9 2015-01-01 00:00:00 1.4
7 1O9 2015-01-01 01:00:00 8.6
8 1O9 2015-01-01 02:00:00 3.3
10 1O9 2015-01-01 03:00:00 1.5
11 1O9 2015-01-01 04:00:00 2.4
12 1O9 2015-01-01 05:00:00 7.2
日期列的dtypes
是一个对象,用于在我需要将日期列类型更改为数据时间后应用一些功能。我尝试了不同的解决方案,例如:
pd.to_datetime(df['date'], errors='raise', format ='%Y-%m-%d HH:mm:ss')
pd.to_datetime(df['date'], errors='coerce', format ='%Y-%m-%d HH:mm:ss')
df['date'].apply(pd.to_datetime, format ='%Y-%m-%d HH:mm:ss')
但错误只是一样的:
TypeError: Unrecognized value type: <class 'str'>
ValueError: Unknown string format
直接的事情是,如果我将 te 函数应用于数据集样本,该函数会正确响应,但如果我将它应用于所有数据集,则会退出错误。数据中存在缺失值,所有值的 dtype 都相同。
我该如何修复这个错误?
最佳答案
存在三个问题:
pd.to_datetime
和 pd.Series.apply
无法正常工作,因此您的解决方案不会修改您的系列。转换后分配回来。errors='coerce'
来保证没有错误。%
开头的特定字符串格式。所以你可以使用:
df = pd.DataFrame({'date': ['2015-01-01 00:00:00', '2016-12-20 15:00:20',
'2017-08-05 00:05:00', '2018-05-11 00:10:00']})
df['date'] = pd.to_datetime(df['date'], errors='coerce', format='%Y-%m-%d %H:%M:%S')
print(df)
date
0 2015-01-01 00:00:00
1 2016-12-20 15:00:20
2 2017-08-05 00:05:00
3 2018-05-11 00:10:00
在这个特定的例子中,格式是标准的,可以省略:
df['date'] = pd.to_datetime(df['date'], errors='coerce')
关于python - pd.to_datetime 上的未知字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53537443/
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 函数将其切换为日期
我是一名优秀的程序员,十分优秀!