python - 将日期(excel 格式)的数字表示形式转换为 python 日期和时间,然后将它们拆分为 pandas 中两个单独的数据框列

标签 python date pandas

我正在电子表格中导入一些数据。它在数据框中,但日期是数字表示或格式

41516.43

首先,我想将其转换为日期和时间对象

date_val = 30/08/2013  10:13:26 AM

然后我想将 date_val 分别拆分为日期和时间,并将它们放在我的数据框 (df) 中的单独列中

| **original date** | **date**     | **time** | 
41516.43              30/08/2013      10:13:26 AM

最佳答案

拼凑自 another question :

In [11]: s = pd.Series([41516.43])

In [12]: from xlrd.xldate import xldate_as_tuple

In [13]: from datetime import datetime

In [14]: s.apply(lambda x: datetime(*xldate_as_tuple(x, 0)))
Out[14]:
0   2013-08-30 10:19:12
dtype: datetime64[ns]

注意:大概是由于您提供的 float 的四舍五入导致的细微差别。

"bare-knuckle no-seat-belts use-at-own-risk"版本:

In [21]: pd.Timestamp('1899-12-30') + (pd.offsets.Day(1).nanos * s).astype(np.timedelta64)
Out[21]:
0   2013-08-30 10:19:12
dtype: datetime64[ns]

我认为在使用 read_excel 时解析日期通常更可取.

关于python - 将日期(excel 格式)的数字表示形式转换为 python 日期和时间,然后将它们拆分为 pandas 中两个单独的数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22395186/

相关文章:

Javascript如何解析年份字符串到零时间日期

AngularJs orderBy 将日期作为字符串处理

python - 在我的 Python 应用程序中找不到名称

python - 使用 Memcache 缓存 Matplotlib(Wont Pickle)

ruby-on-rails - Rails cron 作业每天运行以创建 2 年后的数据库记录。闰年如何计算?

python - 在 xlabel 上绘制带有总行和日期的堆积条形图

python - Pandas 值(value)错误: cannot handle a non-unique multi-index when trying to re-index

python - 如何在 matplotlib 中获得更小的 latex 括号?

python - Qt-如何使用 python 将函数连接到 qml 中的信号?使用 QQmlApplicationEngine

python-3.x - 如何将未命名的列设置为索引?