2 votes

n'extraire de la base de données que les lignes correspondant à la date d'aujourd'hui

Je récupère des données d'une API et les place dans un cadre de données Pandas. Je veux ensuite créer un nouveau df qui n'inclut que les lignes contenant la date du jour. Je sais comment sélectionner entre deux dates statiques, mais je n'arrive pas à filtrer par un timestamp 'today'.

from matplotlib import pyplot as plt

#Access API
r = requests.get('REMOVED')
x = r.json()
keys = x.keys()
old_df = pd.DataFrame(x['results'])

#set dataframe
df = old_df[['valid_from','valid_to','value_inc_vat']].copy()

df['valid_from'] = pd.to_datetime(df['valid_from'])
df['valid_to'] = pd.to_datetime(df['valid_to'])

#only today's rows
today = pd.Timestamp.today().date()
mask = (df['from'] == today)
df_today = df.loc[mask]```

1voto

jezrael Points 290608

Utilisation Series.dt.date pour comparaison par date s :

mask = (df['from'].dt.date == today)
df_today = df[mask]

0voto

Shah Zaiƞ Points 41

Vous pouvez utiliser la vérification suivante pour comparer deux dates :

mask = (df['from'].dt.date == today)
df_date_today = df[mask]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X