0
votes

Utilisation de la boucle intérieure Lambda pour itération sur colonnes

J'ai un df qui a la structure suivante:

for c in np.arange(start=1, stop=len(df.columns[1:])+1, step=1):
    df['AC'+str(c)] = lambda c: df.columns[c-1].add(0).sub(df.iloc[:, c])  


1 commentaires

Pourquoi utilisez-vous Lambda du tout?


3 Réponses :


1
votes

IIUC:

for c in np.arange(start=1, stop=len(df.columns[1:])+1, step=1):
    df['AC'+str(c)] = df.iloc[: , c-1].add(0).sub(df.iloc[:, c])  


1 commentaires

Je ne suis pas en mesure de générer la sortie attendue pour la première colonne en utilisant ceci, qu'est-ce que je manque?



0
votes

Vous pouvez également essayer df.cumsum () code> sur axis = 1 code> et ajoutez le 1 comme une plage.

     M  C1   C2   C3  AC1  AC2  AC3
ID                                 
tt  23  23  563  234   47  611  846
rt  13   3   32   67   17   50  118
cf  78  67   90   90  146  237  328
di  45  12  112   34   58  171  206


0 commentaires

0
votes

Vous pouvez simplement faire cela: (travaillé pour moi) xxx


0 commentaires