0
votes

Récupérer la ligne de DataFrame basée sur la liste d'une valeur de cellule

J'essaie de récupérer une ligne d'un Dataframe Pandas où la valeur de la cellule est une liste. J'ai essayé isine , mais on dirait que cela fonctionne ou fonctionne, pas et fonctionne. xxx

Je peux obtenir les valeurs à une liste et la comparer. Au lieu de cela, y a-t-il une manière disponible où nous pouvons le vérifier contre une valeur de liste à l'aide de .LOC méthode elle-même?


0 commentaires

3 Réponses :


0
votes

Je ne suis pas sûr que ce soit le meilleur moyen de le faire, ou s'il y a un bon moyen de le faire, car autant que je sache pandas ne 'T VRAIMENT SOUTENIR SUPPORTER STRUCTER LISTES Dans Série . Néanmoins: xxx

sortie: xxx


0 commentaires

2
votes

Pour trouver une liste Vous pouvez itérer sur les valeurs de vlan_id et comparer chaque valeur en utilisant np.array_equal : xxx

Bien que, il a conseillé d'éviter d'utiliser des listes comme des valeurs de cellule dans un Dataframe.

Dataframe.loc Peut utiliser une liste d'étiquettes ou d'une matrice booléenne pour accéder aux lignes et aux colonnes. La compréhension de la liste ci-dessus contient un réseau booléen.


0 commentaires

0
votes

Une autre solution de contournement serait de transformer vos colonnes vlan_id code> de sorte qu'elle puisse être interrogée comme une chaîne. Vous pouvez le faire en rejoignant vos valeurs de liste vlan_id code> dans les chaînes séparées par des virgules.

df['proxy'] = df['vlan_id'].apply(lambda x: ','.join(x) if type(x) is list else ','.join([x]) )

l = ','.join(['101', '102'])
print(df.loc[df['proxy'] == l])


0 commentaires