2 votes

Obtenir une seule valeur à partir d'un DataFrame Python Pandas

Mon dataframe pandas d'entrée ressemble à ce qui suit

df = pd.DataFrame([ ['AC', 'CompleteWeight', '0.2'],
['BB', 'CompleteWeight', '0.3'], ['RPL', 'CompleteWeight', '0.1'],
['IA', 'MultiPackageCompleteWeight', '0.2'],
['RPL', 'MultiPackageCompleteWeight', '0.5']],
columns=['Run Type', 'Name', 'Value'])

>>> df
  Run Type                        Name Value
0       AC              CompleteWeight   0.2
1       BB              CompleteWeight   0.3
2      RPL              CompleteWeight   0.1
3       IA  MultiPackageCompleteWeight   0.2
4      RPL  MultiPackageCompleteWeight   0.5
>>>

Je veux obtenir seulement 0.5 dans la colonne "Value" en utilisant les noms de colonnes et de lignes, pas les index.

La sortie désirée est;

Desired = 0.5

Pouvez-vous s'il vous plaît m'aider avec ceci?

2voto

jezrael Points 290608

Utilisez DataFrame.loc avec indexation booléenne puis sélectionnez la première valeur :

masque = (df['Run Type'] == 'RPL') & (df['Name'] == 'MultiPackageCompleteWeight')
désiré = df.loc[masque, 'Value'].values[0]
#alternativement
#désiré = df.loc[mask, 'Value'].iat[0]
print(désiré)
0.5

Si possible RPL ou MultiPackageCompleteWeight n'existent pas :

désiré = next(iter(df.loc[mask, 'Value']), 'aucune correspondance')
print(désiré)

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