【问题标题】:How can I convert Date column datatype from int64 to Date in jupyter notebook? [duplicate]如何在 jupyter notebook 中将 Date 列数据类型从 int64 转换为 Date? [复制]
【发布时间】:2023-03-20 23:29:01
【问题描述】:

我是 python 新手。我一直在尝试将日期列的数据类型从 int64 转换为 jupyter notebook 中的日期,但是每当我尝试某些操作时,我都会得到正确的格式,但文件中的所有行都显示相同的日期。我不明白怎么了。

日期 43390 43599 43605 43329 43330 43604 43601

在我使用任何功能后——例如: df["DATE2"] = pd.to_datetime(pd.Series(df["DATE"])) df[["DATE","DATE2"]].head()

我明白了:

日期日期2 0 1970-01-01 00:00:00.000043390 1970-01-01 00:00:00.000043390 1 1970-01-01 00:00:00.000043599 1970-01-01 00:00:00.000043599 2 1970-01-01 00:00:00.000043605 1970-01-01 00:00:00.000043605 3 1970-01-01 00:00:00.000043329 1970-01-01 00:00:00.000043329 4 1970-01-01 00:00:00.000043330 1970-01-01 00:00:00.000043330

【问题讨论】:

  • 嗨,欢迎来到 SO!你能把你的代码和你的数据框样本放在这里吗?这将帮助其他人为您找到解决方案。
  • 您好 Eduardo 和 Chris,我附上了上面的屏幕截图。请点击截图你会发现它。另外我在这里再次添加代码。我有这种格式的日期:DATE 43390 43599 每当我使用任何函数时,例如:df["DATE2"] = pd.to_datetime(pd.Series(df["DATE"])) df[["DATE"," DATE2"]].head() 我得到这个: DATE DATE2 0 1970-01-01 00:00:00.000043390 1970-01-01 00:00:00.000043390 1 1970-01-01 00:00:00.000043599 1970-01- 01 00:00:00.000043599 2 1970-01-01 00:00:00.000043605 1970-01-01 00:00:00.000043605
  • 这看起来像 Excel 样式的日期,试试this question。即尝试import datetime as dtdf['DATE2'] = pd.TimedeltaIndex(df['DATE'], unit='d') + dt.datetime(1900,1,1)

标签: python pandas date datetime jupyter-notebook


【解决方案1】:

试试这个:

df['DATE'] = df['DATE'].astype('datetime64[ns]')

【讨论】:

  • 我在每一列中都得到了这个日期:1970-01-01 00:00:00.000043390 最后 5 个数字是我在原始文件中获得的以 int64 作为数据类型的数字。因此,基本上 1970-01-01 00:00:00.0000 在最后 5 个 int64 文件后面附加的每一行中都很常见。
猜你喜欢
  • 2019-08-17
  • 2011-02-05
  • 2023-04-07
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 2014-01-19
  • 2019-07-13
  • 2015-07-06
相关资源
最近更新 更多