【发布时间】:2019-03-09 17:51:48
【问题描述】:
我正在使用这行代码来确定大型数据框 df 的列中接近 A 的值(在容差范围内)的值:
df[df[['column']].apply(numpy.isclose, b=A, atol=0.004).any(1)]
但是,在某些情况下,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
其中 A 有值:
A=[0.432, 0.783, 0.902]
但在另一个示例中,它可能具有以下值:
A=[0.558, 0.002]
(很明显,数据框中的任何内容实际上都不会匹配 0.002)。
我想要一些代码,它能够从数据框中返回 column1 值与所有示例的 A 值匹配的行,无论不同 A 值的数量如何(如果没有匹配,则返回“NaN”)。
【问题讨论】:
-
好的,请稍等!
标签: python-3.x pandas numpy