Merge pandas DataFrame on column of float values
<p>I have two data frames that I am trying to merge.</p>

<p>Dataframe A:</p>

<pre><code>    col1    col2    sub    grade
0   1       34.32   x       a 
1   1       34.32   x       b
2   1       34.33   y       c
3   2       10.14   z       b
4   3       33.01   z       a
</code></pre>

<p>Dataframe B:</p>

<pre><code>    col1    col2    group   ID
0   1       34.32   t       z 
1   1       54.32   s       w
2   1       34.33   r       z
3   2       10.14   q       z
4   3       33.01   q       e
</code></pre>

<p>I want to merge on col1 and col2. I've been pd.merge with the following syntax: </p>

<pre><code>pd.merge(A, B, how = 'outer', on = ['col1', 'col2'])
</code></pre>

<p>However, I think I am running into issues joining on the float values of col2 since many rows are being dropped. Is there any way to use np.isclose to match the values of col2? When I reference the index of a particular value of col2 in either dataframe, the value has many more decimal places than what is displayed in the dataframe.</p>

<p>I would like the result to be:</p>

<pre><code>    col1   col2   sub   grade   group    ID
0   1      34.32  x     a       t        z
1   1      34.32  x     b       s        w
2   1      54.32  s     w       NaN      NaN
3   1      34.33  y     c       r        z
4   2      10.14  z     b       q        z
5   3      33.01  z     a       q        e
</code></pre>