3 votes

Prendre la moyenne d'une série de listes et obtenir la moyenne

Je travaille avec une série de cordes. J'ai extrait les chiffres de ces chaînes et je veux obtenir la moyenne. Le problème semble être qu'il s'agit toujours de chaînes de caractères et je ne sais pas comment transformer chaque élément de la liste de la série en un nombre entier, puis calculer la moyenne.

list_series = added_df["Salary Estimate"].str.findall(r'\d+')
for index, value in list_series.items():
    for i in value:
        i = int(i)       
from statistics import mean
added_df['Average Salary'] = added_df['Salary Estimate'].map(mean)

Je pensais les avoir convertis en nombres entiers, mais je reçois toujours ce message d'erreur :

TypeError : impossible de convertir le type 'str' en numérateur/dénominateur

2voto

W-B Points 94428

Vous pouvez faire explode puis groupby

added_df["Salary Estimate mean"] = added_df["Salary Estimate"].str.findall(r'\d+').explode().astype(int).groupby(level=0).mean()

Ou

added_df["Salary Estimate"].str.findall(r'\d+').apply(pd.Series).astype(int).mean(1)

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