从数据框中删除与其他数据框不匹配的项目?

时间:2014-04-02 17:41:48

标签: python pandas

我尝试比较两个数据框,一个是从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

1 个答案:

答案 0 :(得分:1)

你可以(内部)合并:

In [11]: pd.merge(df, df1)
Out[11]:
   Qty  Price
0    1   1.30
1   10   3.90
2   15   1.89