我尝试比较两个数据框,一个是从Excel工作表(tempSheet
)创建的,另一个是从sql表(testdf
创建的)。我想最终得到一个数据帧,以便与其他数据帧匹配。然后使用to_excel
将其放回到它来自的Excel工作表中。
我认为tempSheet = tempSheet[tempSheet != testdf]
可行,但我收到错误
ValueError: Can only compared identically-labeled DataFrame objects
我确保两者的列名相同。数据只有两列,都是数字。
所以我想我有两个问题。有没有办法使上述声明有效?或者有更好的方法吗?
我的数据框看起来像这样:
Qty Price
0 1 1.30
1 6 2.70
2 8 0.20
3 10 3.90
4 9 11.25
5 15 1.89
6 26 2.67
7 200 7.65
...
Qty Price
0 1 1.30
1 10 3.90
2 15 1.89
3 16 0.98
4 2 10.52
5 66 9.87
6 9 13.42
7 43 27.65
...
我想将第一个减少到仅匹配,所以
Qty Price
0 1 1.30
1 10 3.90
2 15 1.89
答案 0 :(得分:1)
你可以(内部)合并:
In [11]: pd.merge(df, df1)
Out[11]:
Qty Price
0 1 1.30
1 10 3.90
2 15 1.89