0
votes

Comment sélectionner les valeurs de champ de colonne correspondantes dans un Dataframe?

Donc, j'ai créé une trame de données comme suit - xxx pré>

maintenant, dans mon annuaire, j'ai un dossier appelé des images, où j'ai tous les fichiers .bmp stockés (1.bmp, 2.BMP, 3.BMP, 4.BMP, etc.). P>

J'essaie d'écrire un script, le script trouve automatiquement les fichiers dans "image_name" dans la trame de données et renvoie respectivement leur résultat et leurs valeurs classées. P>

 import pandas as pd
 import glob
 import os
 data = pd.read_csv("filename.csv")
 for file in glob.glob("*.bmp"):
     fname = os.path.basename(file)


2 commentaires

Votre code initial est requis


"Résultat et valeurs classées respectivement." que veux-tu dire?


4 Réponses :


0
votes

On dirait que vous voulez juste accéder à la ligne où image_name code> est identique à celui du fichier et obtenez le résultat résultat code> et classifié code> Colonnes. Essayez ceci: p>

import pandas as pd
from io import StringIO

df = pd.read_csv(StringIO("""
id   |  Image_name   | result   | classified   

01    | 1.bmp         | 0        | 10           

02    | 2.bmp         | 1         |  11         
03    |  3.bmp        |  0        |  10         

04    |  4.bmp        |  2        |  12         
"""), sep=r"\s+\|\s+")

file_example = "2.bmp"

print(df[df['Image_name'] == file_example][["result", "classified"]])


0 commentaires

1
votes

Obtenez d'abord tous les noms d'images du dossier et stockez dans une liste

   id Image_name  result  classified
0   1      1.bmp       0          10
1   2      2.bmp       1          11
2   3      3.bmp       0          10
3   4      4.bmp       2          12


0 commentaires

0
votes

Vous pouvez utiliser un masquage booléen pour cela. Vous pouvez en savoir plus sur le lien ci-dessous. https://pandas.pydata.org/pandas-docs/stable/ user_guide / indexing.html xxx

espère que cela a aidé!


0 commentaires

0
votes

Si vous auriez besoin du même algo pour beaucoup d'images (peu de milliers / centaines de milliers). Il est préférable d'utiliser la colonne nécessaire pour filtrer comme index de votre Dataframe avant de procéder à la méthode .ISIN () . xxx

espère que cela aide :))


0 commentaires