熊猫日期时间格式 VS 谷歌表格日期格式

Posted

技术标签:

【中文标题】熊猫日期时间格式 VS 谷歌表格日期格式【英文标题】:pandas date-time format VS google sheets date format 【发布时间】:2020-11-16 05:33:29 【问题描述】:

我的数据集中有一列如下所示:

date  
41245.0  
41701.0  
36361.0

我需要将其转换为日期格式。当我使用 Python 在 Python 中尝试时:

df = pd.to_datetime(df['date'])

我的结果是这样的:

1   1970-01-01 00:00:00.000041701
4   1970-01-01 00:00:00.000042226
5   1970-01-01 00:00:00.000039031

这些年似乎很奇怪。但是,当我在 Google Drive/Sheets 上打开我的数据集(作为 Excel 工作表)时,选择该列,并使用“日期”或“日期-时间”格式对其进行格式化,结果却大不相同。

12/2/2012
3/3/2014
7/20/1999

我的结果应该是这样的。但是,目前我得到了奇怪的值。同样,Microsoft Excel 上的结果也略有不同。为什么日期不一样?我做错了什么?

【问题讨论】:

【参考方案1】:

这是天,但原点是 1900-01-01 而不是默认的 1970-01-01

pd.to_datetime(df.date,unit='d',origin='1900-01-01')
Out[205]: 
0   2012-12-04
1   2014-03-05
2   1999-07-22
Name: date, dtype: datetime64[ns]

【讨论】:

这行得通,但你能解释一下这个起源吗?我没有从文档中得到太多。使用 linux 时我总是需要设置这个吗? @x89 origin 更像是日期开始,在 pandas 中,当我们经过单位天数时,origin 默认为 1970-01-01 (Date= origin + days)

以上是关于熊猫日期时间格式 VS 谷歌表格日期格式的主要内容,如果未能解决你的问题,请参考以下文章

如何格式化熊猫日期时间? [复制]

如何在熊猫中格式化日期格式

如何使用熊猫更改数据框中的日期时间格式? [复制]

在熊猫数据框中将不同的日期时间格式转换为 MM/DD/YYYY 格式

如何将日期时间格式转换为分钟 - 熊猫

熊猫日期时间格式删除时区[重复]