Jak przekonwertować kolumnę DataFrame ciągów znaków (w formacie dd/mm/rrrr) na sieci czasu?Konwertuj typ kolumny DataFrame z ciągu na datetime
127
A
Odpowiedz
214
Najprostszym sposobem jest użycie to_datetime
:
df['col'] = pd.to_datetime(df['col'])
Oferuje również dayfirst
argument za czasów europejskich (ale uwaga this isn't strict).
Oto ona w akcji:
In [11]: pd.to_datetime(pd.Series(['05/23/2005']))
Out[11]:
0 2005-05-23 00:00:00
dtype: datetime64[ns]
można przekazać specyficzny format:
In [12]: pd.to_datetime(pd.Series(['05/23/2005']), format="%m/%d/%Y")
Out[12]:
0 2005-05-23
dtype: datetime64[ns]
6
Jeśli data kolumna jest ciąg formatu '2017-01-01' ty może użyć pandas astype, aby przekonwertować go na datetime.
df['date'] = df['date'].astype('datetime64[ns]')
lub użyj datetime64 [D], jeśli chcesz Day precyzyjne i nie nanosekund
print(type(df_launath['date'].iloc[0]))
plony
<class 'pandas._libs.tslib.Timestamp'>
taka sama, jak w przypadku korzystania pandas.to_datetime
Możesz spróbować z innymi formatuje następnie "% Y-% m-% d", ale przynajmniej to działa.
dzięki za powtórkę, czy mogę zdefiniować jej format? jak "% d /% m /% Y"? bardzo doceniane – perigee
Cóż, twierdzi, że ma tę opcję, ale myślę, że jest to ignorowane. : s –
to działa, łańcuch formatu działa, dziękuję bardzo – perigee