2017-10-16 246 views
1

我在我的熊貓DataFrame df2015-03-09 11:09:05.0中給出了以下格式的時間戳。 如何將它們轉換爲2015-03-09T11:09:05.0(即用T分開)?如何更改日期時間格式?

df["dt"] = df["dt"].apply(lambda x: ???) 
+0

我沒有看到差異... – jezrael

+0

@jezrael:對不起,我更新了。 – Dinosaurius

回答

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 

可以通過插入一個參數改變T(默認值),以isoformat(),例如df["dt"] = df["dt"].apply(lambda x: x.isoformat(" "))

+1

真的很好,我不知道它;) – jezrael

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')