Je suis nouveau sur Python (venant de R), et j'essaie de comprendre comment je peux convertir une série d’horodatages dans un cadre de données pandas (dans mon cas, cela s’appelle df['timestamp']
) en ce que j’appellerais un vecteur chaîne dans R. possible? Comment cela serait-il fait?
J'ai essayé df['timestamp'].apply('str')
, mais cela semble simplement mettre la colonne entière df['timestamp']
dans une longue chaîne. Je cherche à convertir chaque élément en chaîne et à préserver la structure, de sorte que ce soit toujours un vecteur (ou peut-être cela s'appelle-t-il un tableau?)
Considérons la dataframe df
df = pd.DataFrame(dict(timestamp=pd.to_datetime(['2000-01-01'])))
df
timestamp
0 2000-01-01
Utilisez l'accesseur datetime dt
pour accéder à la méthode strftime
. Vous pouvez passer une chaîne de format à strftime
et elle retournera une chaîne formatée. Lorsqu'il est utilisé avec l'accesseur dt
, vous obtiendrez une série de chaînes.
df.timestamp.dt.strftime('%Y-%m-%d')
0 2000-01-01
Name: timestamp, dtype: object
Visitez strftime.org
pour un ensemble pratique de chaînes de format.
Utilisez astype
>>> import pandas as pd
>>> df = pd.to_datetime(pd.Series(['Jul 31, 2009', '2010-01-10', None]))
>>> df.astype(str)
0 2009-07-31
1 2010-01-10
2 NaT
dtype: object
retourne un tableau de chaînes