Eliminer enregistrements
Résolu
chaldeen
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je rencontre un problème sur lequel je ne pensais pas buter si longtemps, mais je ne trouve pas la solution.
En bref, je possède un dataframe sur lequel j'aimerais ne garder que les enregistrements dont l'Id_compteur figure dans la liste 'list' (qui correspond en réalité aux Id d'une autre table.
J'ai testé ce code en créant une liste 'data', ainsi qu'en créant un dataframe 'data' également, mais j'ignore ce qui bloque jusque-là.
Merci à vous
Je rencontre un problème sur lequel je ne pensais pas buter si longtemps, mais je ne trouve pas la solution.
En bref, je possède un dataframe sur lequel j'aimerais ne garder que les enregistrements dont l'Id_compteur figure dans la liste 'list' (qui correspond en réalité aux Id d'une autre table.
J'ai testé ce code en créant une liste 'data', ainsi qu'en créant un dataframe 'data' également, mais j'ignore ce qui bloque jusque-là.
data = []
for row in df_data_mesures:
if df_data_mesures['Id_compteur'] in list:
data.append(row)
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Merci à vous
3 réponses
-
Bonjour,
df_data_mesures['Id_compteur']
désigne une série de valeurs, et non une seule valeur.
Du coup,pandas
te dis que ton test est ambigu, car il n'est pas clair si le test doit s'appliquer à certains (any
) ou tous (all
) les éléments de la série.
Dans ton cas, je pense que tu veux plutôt filtrer certaines valeurs de cette série, comme le permet la méthodeisin
.
Bonne chance -
Bonjour,
Je me suis plus précisément servi sur ce forum : https://stackoverflow.com/questions/19960077/how-to-filter-pandas-dataframe-using-in-and-not-in-like-in-sql
Merci beaucoup ! -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
sans doute:data = [] for row in df_data_mesures: if row['Id_compteur'] in list: data.append(row)