J'ai eu quelques problèmes alors je vais l'écrire.
dt.ipynb
import pandas as pd
#Exemple de données JST
data = [
    {"count":224, "time":"2016-01-01T09:00:00+0900"},
    {"count":198, "time":"2016-01-01T12:00:00+0900"},
    {"count":312, "time":"2016-01-01T20:00:00+0900"},
]
df = pd.DataFrame(data)
df
Bien sûr, il s'agit toujours d'une chaîne de caractères.
| count | time | |
|---|---|---|
| 0 | 224 | 2016-01-01T09:00:00+0900 | 
| 1 | 198 | 2016-01-01T12:00:00+0900 | 
| 2 | 312 | 2016-01-01T20:00:00+0900 | 
dt.ipynb
#iso8601 à_datetime()Si vous le transmettez à, l'heure UTC sera renvoyée, alors convertissez-la en JST.
dt = pd.to_datetime(df["time"].tolist()).tz_localize("UTC").tz_convert("Asia/Tokyo")
df.set_index(dt, inplace=True)
df.drop(["time"], axis=1, inplace=True)
df
| count | |
|---|---|
| 2016-01-01 09:00:00+09:00 | 224 | 
| 2016-01-01 12:00:00+09:00 | 198 | 
| 2016-01-01 20:00:00+09:00 | 312 | 
dt.ipynb
type(df.index)
pandas.tseries.index.DatetimeIndex
Je veux savoir s'il existe un moyen plus intelligent ...
Recommended Posts