python - 如何将 datetime64 数组转换为 int?

标签 python pandas numpy

有了这个

pd.Timestamp("31.12.1999 23:59:12").value
>>946684752000000000

我可以获得日期时间基本值的整数值。

如何为一组日期时间值完成此操作?

df = pd.DataFrame({"a": ["31.12.1999 23:59:12", "31.12.1999 23:59:13", "31.12.1999 23:59:14"], "b": [4, 5, 6]})
df.insert(0, 'date', df.a.apply(lambda x: datetime.datetime.strptime(x, "%d.%m.%Y %H:%M:%S")))

显然,这不起作用:

df.date.values.value
>>AttributeError: 'numpy.ndarray' object has no attribute 'value'

最佳答案

使用to_datetime转换为 np.int64:

df['int'] = pd.to_datetime(df['a']).astype(np.int64)

print (df)
                     a  b                 int
0  31.12.1999 23:59:12  4  946684752000000000
1  31.12.1999 23:59:13  5  946684753000000000
2  31.12.1999 23:59:14  6  946684754000000000

关于python - 如何将 datetime64 数组转换为 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52024899/

相关文章:

python - 使用python将 'repetitive' 2D数组转换为矩阵

python - 在 postgresql 8 或 9 中安装 plpython

python - 如何在Python中使用PyQt5绘制折线?

python - Django 表单在唯一字段上验证失败

python - 并行调用对象方法

python - 如何从 Dataframe 指定日期时间中的年、月、日?

python - 删除和释放单个 Pandas 数据帧的内存

python - Numpy 从多维数组中删除一行

numpy 矩阵跟踪行为

python - Pandas 数据帧传播功能或类似功能?