代码之家  ›  专栏  ›  技术社区  ›  Keegan Husom

pd.to_detime()在转换对象时工作不一致

  •  -1
  • Keegan Husom  · 技术社区  · 10 月前

    我一直在使用AWS S3存储桶中存在的此数据(csv)。当我提取数据时,我必须将所有列转换为正确的数据类型。

    除datetime64类型外,所有其他数据类型都正常工作。 在下面的第一张图片中,我正在打印provider_dob,它是一个datetime64。好!

    enter image description here

    然而,我稍后在代码中打印了dtypes,并表示它现在是一个对象? 下面是我的代码片段。

    enter image description here

    我不确定如何合理化这一点,需要第二双眼睛。提前感谢!

    1 回复  |  直到 10 月前
        1
  •  2
  •   Maximilian Press    10 月前

    我认为问题出在你身上 df.replace() 电话。这是您似乎对整个数据帧应用的唯一转换,从而触及您的 dob 列。

    如果你看 elsewhere ,您会注意到,此转换可以将数据类型更改为 object .

    该关联问题给出了解决方案:

    我已经遇到过很多次了,有一个解决办法。在使用替换之前使用astype(object),它将保留dtype。