Je suis nouveau à Pandas. Voudrais savoir comment appliquer une fonction à deux colonnes dans un fichier de données et cartographier la sortie de la fonction dans une nouvelle colonne de la Dataframe. Est-ce du tout possible avec la syntaxe de pandas ou devrais-je recourir à Python natif pour itérer les lignes dans les colonnes de Dataframe pour générer la nouvelle colonne?
a b c 1 2 2 3 1 3 2 9 18
3 Réponses :
Vous pouvez faire avec des pandas.
Par exemple: p> puis, p> sortie: p>
+ pour passer une ligne à la fonction au lieu des paramètres.
Le commentaire de Harvpan montre le moyen le plus simple d'atteindre votre exemple spécifique, mais voici une façon générique de faire ce que vous avez demandé: La fonction ci-dessus ajoute d'abord des colonnes A et B ensemble puis retourne le carré de cette valeur pour A + B <= 5 et le cube de cette valeur pour A + B> 5. P> P>
Vous pouvez faire ce qui suit avec Pandas
import pandas as pd
def func(r):
return r[0]*r[1]
df = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6]})
df['c'] = df.apply(func, axis = 1)
Appliquer code> + lambda code> est une mauvaise pratique. Juste dire.
merci, @harvan, mon mauvais, pas plus de Lambda
oui tu peux le faire avec des pandas
df ['c'] = df ['a'] * df ['B'] code>@Mykolazotko Je suis sûr que la multiplication n'est qu'un exemple. Op a une fonction et veut qu'il soit appliqué en utilisant
appliquer code>.