0
votes

Appliquez la fonction à deux colonnes et mappez la sortie dans une nouvelle colonne.

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 commentaires

oui tu peux le faire avec des pandas


df ['c'] = df ['a'] * df ['B']


@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 .


3 Réponses :


2
votes

Vous pouvez faire avec des pandas.

Par exemple: xxx

puis, xxx

sortie: xxx


1 commentaires

+ pour passer une ligne à la fonction au lieu des paramètres.



1
votes

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é: xxx

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.


0 commentaires

1
votes

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)


2 commentaires

Appliquer + lambda est une mauvaise pratique. Juste dire.


merci, @harvan, mon mauvais, pas plus de Lambda