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])
3 Réponses :
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])
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?
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
Vous pouvez simplement faire cela:
(travaillé pour moi)
Pourquoi utilisez-vous Lambda du tout?