Fonction Pandas DataFrame DataFrame.transform()
-
Syntaxe de
pandas.DataFrame.transform()
-
Exemples de codes :
DataFrame.transform()
-
Exemples de codes :
DataFrame.transform()
pour utiliser la chaînesqrt
comme fonction -
Exemples de codes :
DataFrame.transform()
pour passer la liste des fonctions -
Fonction
DataFrame.apply()
vsDataFrame.transform()
Python Pandas DataFrame.transform()
applique une fonction sur un DataFrame
et transforme le DataFrame
. La fonction à appliquer est passée en paramètre à la fonction transform()
. Le DataFrame
transformé doit avoir la même longueur d’axe que le DataFrame
d’origine.
Syntaxe de pandas.DataFrame.transform()
DataFrame.transform(func, axis, *args, **kwargs)
Paramètres
func |
C’est la fonction à appliquer au DataFrame. Elle apporte un changement dans les valeurs du DataFrame. Il peut s’agir d’une fonction, d’une chaîne de noms de fonctions, d’une liste de fonctions ou de noms de fonctions, ou d’un dictionnaire d’étiquettes d’axes. |
axis |
C’est un entier ou une chaîne de caractères. Il indique l’axe cible sous forme de lignes ou de colonnes. Il peut être 0 ou index pour les lignes et 1 ou columns pour les colonnes. |
*args |
Ce sont les arguments de position à passer à la fonction. |
**kwargs |
Ce sont les arguments supplémentaires de mots-clés à passer à la fonction. |
Renvoie
Il retourne une DataFrame transformée qui a la même longueur que la DataFrame originale. Si la DataFrame retournée a une longueur inégale, la fonction génère une ValueError
.
Exemples de codes : DataFrame.transform()
Essayons d’abord cette fonction en ajoutant un nombre à chaque valeur de la DataFrame.
import pandas as pd
dataframe = pd.DataFrame({
'A':
{0: 6,
1: 20,
2: 80,
3: 78,
4: 95},
'B':
{0: 60,
1: 50,
2: 7,
3: 67,
4: 54}
})
print(dataframe)
Voici l’exemple de la DataFrame,
A B
0 6 60
1 20 50
2 80 7
3 78 67
4 95 54
5 98 34
Cette fonction n’a qu’un seul paramètre obligatoire, à savoir func
. Nous allons maintenant utiliser cette fonction pour ajouter 20 à chaque valeur de la DataFrame.
import pandas as pd
dataframe = pd.DataFrame(
{"A": {0: 6, 1: 20, 2: 80, 3: 78, 4: 95}, "B": {0: 60, 1: 50, 2: 7, 3: 67, 4: 54}}
)
dataframe1 = dataframe.transform(func=lambda x: x + 20)
print(dataframe1)
Production:
A B
0 26 80
1 40 70
2 100 27
3 98 87
4 115 74
5 118 54
Le mot-clé lambda
est utilisé pour déclarer une fonction d’addition anonyme ici.
Exemples de codes : DataFrame.transform()
pour utiliser la chaîne sqrt
comme fonction
import pandas as pd
dataframe = pd.DataFrame(
{"A": {0: 6, 1: 20, 2: 80, 3: 78, 4: 95}, "B": {0: 60, 1: 50, 2: 7, 3: 67, 4: 54}}
)
dataframe1 = dataframe.transform(func="sqrt")
print(dataframe1)
Production:
A B
0 2.449490 7.745967
1 4.472136 7.071068
2 8.944272 2.645751
3 8.831761 8.185353
4 9.746794 7.348469
5 9.899495 5.830952
Ici, au lieu de passer une fonction lambda
, nous avons passé le nom de la fonction comme une chaîne de caractères.
Exemples de codes : DataFrame.transform()
pour passer la liste des fonctions
import pandas as pd
dataframe = pd.DataFrame(
{"A": {0: 6, 1: 20, 2: 80, 3: 78, 4: 95}, "B": {0: 60, 1: 50, 2: 7, 3: 67, 4: 54}}
)
dataframe1 = dataframe.transform(func=["sqrt", "exp"])
print(dataframe1)
Production:
A B
sqrt exp sqrt exp
0 2.449490 4.034288e+02 7.745967 1.142007e+26
1 4.472136 4.851652e+08 7.071068 5.184706e+21
2 8.944272 5.540622e+34 2.645751 1.096633e+03
3 8.831761 7.498417e+33 8.185353 1.252363e+29
4 9.746794 1.811239e+41 7.348469 2.830753e+23
Nous avons passé une liste de deux noms de fonctions, à savoir sqrt
, exp
, func
. La DataFrame retournée contient deux colonnes supplémentaires en raison d’une fonction supplémentaire.
Fonction DataFrame.apply()
vs DataFrame.transform()
Nous pouvons également obtenir les résultats ci-dessus en utilisant DataFrame.apply()
fonction. Mais si nous comparons ces deux fonctions, nous dirons que la fonction DataFrame.transform()
est plus efficace pour gérer les manipulations complexes.