我的pandas DataFrame df
中有以下格式给出的时间戳:2015-03-09 11:09:05.0
。
如何将它们转换为此格式2015-03-09T11:09:05.0
(即由T
分隔)?
df["dt"] = df["dt"].apply(lambda x: ???)
答案 0 :(得分:2)
你快到了。您正在寻找isoformat。 https://docs.python.org/3.6/library/datetime.html#datetime.date.isoformat
import pandas as pd
df = pd.DataFrame({'dt':pd.to_datetime(['2015-03-09 11:09:05.0'])})
df["dt"] = df["dt"].apply(lambda x: x.isoformat())
df
返回
dt
0 2015-03-09T11:09:05
您可以通过向isoformat()插入参数来更改T(默认值),例如df["dt"] = df["dt"].apply(lambda x: x.isoformat(" "))
答案 1 :(得分:1)
使用strftime
自定义格式:
df = pd.DataFrame({'dt':pd.to_datetime(['2015-03-09 11:09:05.0'])})
print (df)
df["dt"] = df["dt"].dt.strftime('%Y-%m-%dT%H:%M:%S.%f')
print (df)
dt
0 2015-03-09T11:09:05.000000
或转换为string
,按whitespace
拆分并按T
加入:
df["dt"] = df["dt"].astype(str).str.split().str.join('T')