2013-12-11 16 views
5

Làm cách nào để trừ một Series khỏi DataFrame, trong khi vẫn giữ nguyên cấu trúc DataFrame?Trừ một Series khỏi DataFrame trong khi vẫn giữ nguyên cấu trúc DataFrame

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 

Những gì tôi muốn làm là tương đương với trừ một vô hướng từ DataFrame

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 

Trả lời

9

các lẽ:

>>> 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] 

hoặc, đối với một ví dụ thú vị hơn:

>>> 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] 
Các vấn đề liên quan