。减去两只熊猫Dataframes

。减去两只熊猫Dataframes

问题描述:

我有我从CSV文件中读取的两只大熊猫dataframes:。减去两只熊猫Dataframes

tmp1=pandas.read_csv(pathDataset1, parse_dates = [0],index_col=0, date_parser=parser) 
tmp2=pandas.read_csv(pathDataset2, parse_dates = [0],index_col=0, date_parser=parser) 
print tmp1 
     #index  #A 
1.296518e+12 443 
1.298938e+12 433 
1.301616e+12 463 
1.304208e+12 483 
1.306886e+12 433 
1.309478e+12 413 
1.312157e+12 403 

print tmp2 
     #index #A 
1.298938e+12 403 
1.301616e+12 483 

,我希望得到我的A柱我的两个dataframes之间的区别,所以我可以作为一个输出的东西像这样:

1.298938e+12 30 
1.301616e+12 -20 

我设法得到这个结果与numpy.substract但这只是如果这些两个数组tmp1.values和tmp2.values是相同的形状,这就是并不总是这样对我。

tmp1.subtract(tmp2)工作,即使两个DataFrames的形状是不同的:

tmp1 = pd.DataFrame({'A': {1296518000000.0: 443, 1298938000000.0: 433, 
          1301616000000.0: 463, 1304208000000.0: 483, 
          1306886000000.0: 433, 1309478000000.0: 413, 
          1312157000000.0: 403}}) 
tmp2 = pd.DataFrame({'A': {1298938000000.0: 403, 1301616000000.0: 483}}) 
print(tmp1.subtract(tmp2).dropna()) 

产生

   A 
index   
1.298938e+12 30 
1.301616e+12 -20 
+0

这正是我想要的,但是当我使用熊猫方法来读取以csv它的剂量不工作我因此得到一个空的数据框 – azelix

+0

我已经设法解决这个小错误,我错过了header = none,因为它不完全是一个csv文件。无论如何谢谢你的答案适合我! – azelix