Je voudrais ajouter de nouvelles colonnes à une fonction en utilisant la trame de données et les valeurs de la trame de données d'origineAjout de plusieurs colonnes de valeurs calculées uniques à un pandas géants dataframe
Créer le dataframe
df = pd.DataFrame({'f1' : np.random.randn(10),
'f2' : np.random.randn(10),
'f3' : np.random.randn(10),
'f4' : np.random.randn(10),
'f5' : np.random.randn(10)})
Fonction de test à appliquer aux colonnes existantes
def testfun(x,n):
return x * n
arguments de la fonction - chaque nouvelle colonne a des arguments
colnum = [1,2,3,4,5]
Créer de nouveaux noms de colonnes pour les nouvelles colonnes à ajouter à la trame de données
newcol = [s + "_D" for s in df.columns]
en boucle à travers les colonnes existantes appliquant la fonction et les arguments appropriés pour cette colonne. Chaque nouvelle colonne recevra un nom unique.
Cette partie fonctionne pas!
for s in range(len(df.columns)):
df = df.assign(newcol[s] = testfun(df[[df.columns[s]]], s))
La nouvelle trame de données doit contenir 10 colonnes.