将 Y-m-d H:M:S 格式转换为 python 中的 int

Convert Y-m-d H:M:S format to int in python

使用 pandas,我将我的 csv 文件制作成数据框并将其命名为 data_A

data_A = pd.read_csv("D:/power.csv")

data_A 有列 time

我想把它转换成整型。 例如,2020-01-01 00:00:0020200101000000 data_A['time'] 的数据类型是对象。 如何将整个列时间更改为 int64 值?

最一致的方法(防止偶然出现奇数日期)是将列转换为日期时间,然后再转换为字符串:

pd.to_datetime(data_A.time).dt.strftime('%Y%m%d%H%M%S').astype(int)
#0    20200101000000
#1    20200101000020
#Name: time, dtype: int64

但是由于你的 time 本质上是字符串,你可以通过标点符号拆分它们,然后加入:

data_A.time.str.split('\W').str.join('').astype(int)
#0    20200101000000
#1    20200101000020
#Name: time, dtype: int64

第二个解决方案大约快 40%。