2013-12-11 2 views
5

Wie kann ich eine Serie von einem Dataframe subtrahieren, während die Dataframe-Struktur intakt bleibt?Subtrahieren Sie eine Serie von einem Datenrahmen, während Sie die Datenframe-Struktur intakt beibehalten

df = pd.DataFrame(np.zeros((5,3))) 
s = pd.Series(np.ones(5)) 

df - s 
    0 1 2 3 4 
0 -1 -1 -1 NaN NaN 
1 -1 -1 -1 NaN NaN 
2 -1 -1 -1 NaN NaN 
3 -1 -1 -1 NaN NaN 
4 -1 -1 -1 NaN NaN 

Was würde ich gerne haben ist das Äquivalent eines skalaren aus dem Datenrahmen

subtrahieren
df - 1 
    0 1 2 
0 -1 -1 -1 
1 -1 -1 -1 
2 -1 -1 -1 
3 -1 -1 -1 
4 -1 -1 -1 

Antwort

9

Vielleicht:

>>> df = pd.DataFrame(np.zeros((5,3))) 
>>> s = pd.Series(np.ones(5)) 
>>> df.sub(s,axis=0) 
    0 1 2 
0 -1 -1 -1 
1 -1 -1 -1 
2 -1 -1 -1 
3 -1 -1 -1 
4 -1 -1 -1 

[5 rows x 3 columns] 

oder für ein interessantes Beispiel:

>>> s = pd.Series(np.arange(5)) 
>>> df.sub(s,axis=0) 
    0 1 2 
0 0 0 0 
1 -1 -1 -1 
2 -2 -2 -2 
3 -3 -3 -3 
4 -4 -4 -4 

[5 rows x 3 columns] 
Verwandte Themen