python - 将 Pandas DateTimeIndex 转换为 Unix 时间?

标签 python pandas

将 pandas DateTimeIndex 转换为(可迭代的)Unix 时间的惯用方法是什么? 这可能不是要走的路:

[time.mktime(t.timetuple()) for t in my_data_frame.index.to_pydatetime()]

最佳答案

由于 DatetimeIndexndarray 在引擎盖下,您可以在没有理解的情况下进行转换(更快)。

In [1]: import numpy as np

In [2]: import pandas as pd

In [3]: from datetime import datetime

In [4]: dates = [datetime(2012, 5, 1), datetime(2012, 5, 2), datetime(2012, 5, 3)]
   ...: index = pd.DatetimeIndex(dates)
   ...: 
In [5]: index.astype(np.int64)
Out[5]: array([1335830400000000000, 1335916800000000000, 1336003200000000000], 
        dtype=int64)

In [6]: index.astype(np.int64) // 10**9
Out[6]: array([1335830400, 1335916800, 1336003200], dtype=int64)

%timeit [t.value // 10 ** 9 for t in index]
10000 loops, best of 3: 119 us per loop

%timeit index.astype(np.int64) // 10**9
100000 loops, best of 3: 18.4 us per loop

关于python - 将 Pandas DateTimeIndex 转换为 Unix 时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15203623/

相关文章:

python - 按 block 切片 numpy 数组

Python IDLE 未在 Windows 7 上启动

python - 在此 DataFrame 中对列 MultiIndex 进行透视/重新索引?

python - 将具有两列的 pandas DataFrame 转换为堆叠条形图

python - Pandas 数据框创建为 2 系列的排列?

python - 使用 Popen 打开进程并获取 PID

python - 如何永久 "wire"EC2 ip 地址到 virtualenv 中的 django

python - 在一列上对数据框进行分组,并从一列中获取最大值,并从另一列中获取相应的值

python - 创建一个具有固定第一个值的空 Pandas DataFrame 列,然后用公式填充它

python - 重命名默认ID python