小编Nek*_*eko的帖子

如何内部合并两个具有容差值的数据框?

我有两个数据框:

\n\n
 df1<-   A      C\n       7.629    1\n       5.227    2\n       5.472    3\n       5.386    4\n       5.445    5\n\n         A      B  \n df2<- 7.634   10.0\n       7.732   30.0\n       5.223   33.0\n       5.479   22.0\n       5.390   49.0\n       5.439   53.0\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想对 A 列执行内部合并,容差值为 \xc2\xb10.01 以获得结果数据:

\n\n
df3<-       A       B      C \n          7.634   10.0     1\n          5.223   33.0     2\n          5.479   22.0     3\n          5.390   49.0     4 \n          5.439   53.0     5 \n
Run Code Online (Sandbox Code Playgroud)\n\n

这可以吗?

\n\n

(请注意,df3 的 A 列具有从 df2 复制的值)

\n

numpy pandas python-3.6

5
推荐指数
1
解决办法
4053
查看次数

如何在数据框的列上循环和测试多个“numpy.isclose”值?

我正在使用这行代码来确定大型数据框 df 列中的值,这些值接近 A 的值(在容差范围内):

df[df[['column']].apply(numpy.isclose, b=A, atol=0.004).any(1)]
Run Code Online (Sandbox Code Playgroud)

但是,在某些情况下,A 可以有多个值(即 2-4 个不同的值)。有没有一种方法可以让我遍历 A 的每个值来测试每个值?我知道上面显示的代码行只会让我使用 A,如果它有一个分配给它的值。

这方面的一个例子是(使用更短的数据帧):

   column1   column2
0  0.902062    5.8
1  0.557808    3.3
2  0.655985    3.9
3  0.832471    4.1  
4  0.199884    1.2
5  0.127254    1.8
6  0.771439    4.9
7  0.432289    2.8
8  0.385282    2.2
9  0.783643    3.7
Run Code Online (Sandbox Code Playgroud)

其中 A 具有值:

A=[0.432, 0.783, 0.902]
Run Code Online (Sandbox Code Playgroud)

但在另一个示例中,它可能具有以下值:

A=[0.558, 0.002]
Run Code Online (Sandbox Code Playgroud)

(这里很明显,数据框中的任何内容实际上都不会匹配 0.002)。

我想要一些代码,它能够从数据框中返回行,其中 column1 值与所有示例的 A 值匹配,而不管不同 A 值的数量如何(如果没有匹配,则返回“NaN”反而)。

numpy python-3.x pandas

4
推荐指数
1
解决办法
800
查看次数

标签 统计

numpy ×2

pandas ×2

python-3.6 ×1

python-3.x ×1