2012-07-31 63 views
0

我有两个D ataFrame s,其中一个比另一个大(A)。 B上的标签都包含在A中。我想为对应的行/列值取差值(A-B)。有没有人有什么建议?熊猫:取对应差异

回答

1

你应该能够简单地做A.sub(B)。例如:

df = DataFrame(np.random.randn(4, 2), columns=['one','two']) 
A = df.ix[1:, ['one', 'two']] 
B = df.ix[:2, ['one']].apply(lambda x: x *2) 

如果A:

 one  two 
1 -0.999523 -2.111082 
2 -2.197760 -0.412689 
3 -0.534728 0.037255 

和B是:

one 
0 -1.940326 
1 -1.999046 
2 -4.395521 

A.sub(B)会给你:

 one  two 
0 NaN  NaN 
1 0.999523 NaN 
2 2.197760 NaN 
3 NaN  NaN 

或者我误解了这个问题吗?