【发布时间】:2018-11-14 17:42:49
【问题描述】:
如果我的 df 中有一个包含日期时间的列,例如“21:56:02”,如何将其转换为相同的数字格式,例如“215602”?
谢谢,
【问题讨论】:
如果我的 df 中有一个包含日期时间的列,例如“21:56:02”,如何将其转换为相同的数字格式,例如“215602”?
谢谢,
【问题讨论】:
您可以简单地删除:
a = '21:56:02'
print(a.replace(':',''))
【讨论】:
如果“21:56:02”是一个字符串,那么:
date = "21:56:02"
int_date = int(date.replace(":", ""))
或者对于列:
date_col.str.replace(":", "").astype(int)
【讨论】:
使用to_datetime
例如:
import pandas as pd
df = pd.DataFrame({"Date": [ '21:56:02', '20:56:02', '19:56:02']})
print( pd.to_datetime(df["Date"]).dt.strftime("%H%M%S") )
输出:
0 215602
1 205602
2 195602
Name: Date, dtype: object
如果你需要作为 int 对象
print( pd.to_datetime(df["Date"]).dt.strftime("%H%M%S").astype(int) )
【讨论】: