【问题标题】:How to convert datetime64 array to int?如何将 datetime64 数组转换为 int?
【发布时间】:2020-11-28 16:41:17
【问题描述】:

有了这个

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'

【问题讨论】:

  • 我对你想要做什么感到困惑。为什么你有insert

标签: python pandas numpy


【解决方案1】:

使用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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    相关资源
    最近更新 更多