将 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:00
到 20200101000000
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%。
使用 pandas,我将我的 csv 文件制作成数据框并将其命名为 data_A
data_A = pd.read_csv("D:/power.csv")
data_A
有列 time
我想把它转换成整型。
例如,2020-01-01 00:00:00
到 20200101000000
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%。