我有两个从csv文件中读取的pandas数据帧:
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列上得到我的两个数据帧之间的差异所以我可以得到这样的输出:
1.298938e+12 30
1.301616e+12 -20
我已经设法用numpy.substract来获得这个结果但是只有当这两个数组的tmp1.values和tmp2.values形状相同时才会这样,而且对我来说并非总是如此。
答案 0 :(得分:1)
tmp1.subtract(tmp2)
也能正常工作:
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