2017-10-16 14 views
1

私のパンダDataFrame dfには、2015-03-09 11:09:05.0という形式でタイムスタンプが与えられています。 2015-03-09T11:09:05.0(つまり、Tで区切られた)の形式に変換するにはどうすればよいですか?あなたは、ほとんどがあった日時フォーマットを変更するには?

df["dt"] = df["dt"].astype(str).str.split().str.join('T') 
+0

私は違いを見ません... – jezrael

+0

@jezrael:申し訳ありませんが、私は更新しました。 – Dinosaurius

答えて

2

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"].apply(lambda x: ???) 
+1

本当にうれしい、私はそれを知らない;) – jezrael

1

使用strftime。あなたは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(" "))

関連する問題