2017-10-19 20 views
1

J'ai deux trames de données a et b et je veux a de se transformer en une somme en cours d'exécution des données ba's valeurs par défaut.Comment calculer la somme en cours d'exécution d'une trame de données qui a des valeurs par défaut

>>> a = pd.DataFrame([[0, 0, 1], [0, 0, 0], [0, 0, 0]], columns=['a', 'b', 'c']) 
>>> a 
    a b c 
0 0 0 1 
1 0 0 0 
2 0 0 0 
>>> b = pd.DataFrame([[1, 2, 3], [1, 2, 4], [4, 5, 2]], columns=['a', 'b', 'c']) 
>>> b 
    a b c 
0 1 2 3 
1 1 2 4 
2 4 5 2 

Ma sortie désirée est:

a b c 
0 1 2 4 
1 2 4 8 
2 6 9 10 

j'ai essayé a = b.cumsum() mais je reçois:

a b c 
0 1 2 3 
1 2 4 7 
2 6 9 9 
+0

Non dernière colonne ont des valeurs '4,8,10'? – jezrael

+0

Vous avez raison. – dirtysocks45

Répondre

1

Vous pouvez utiliser add pour les valeurs de somme des deux DataFrame s avec cumsum:

print (b.add(a).cumsum()) 
    a b c 
0 1 2 4 
1 2 4 8 
2 6 9 10 

Détail:

print (b.add(a)) 
    a b c 
0 1 2 4 
1 1 2 4 
2 4 5 2