【发布时间】:2021-12-28 18:26:05
【问题描述】:
我有一个具有以下结构的熊猫数据框。它包含之前完成的比较结果,minimum_difference 列显示了该行的哪一列包含该比较中较小的绝对差异。
df_test
V | A | B | C | D | minimum_difference
-10 | nan | nan | nan | nan | nan
-9.9 | 10 | 1 | -2200 | 100 | B
-9.8 | 11 | 2 | -2211 | 1 | D
另外,我为每个值列(A、B、C、D)的最小差异设定了目标最大差异,如下所示:
max_difference = pd.Series(dict(
A=1,
B=2,
C=10,
D=0.5,
))
我想向 df_test 添加一个新列,该列将最小差异与该列的目标值进行比较。例如:
V | A | B | C | D | minimum_difference | is_within_max_target
-10 | nan | nan | nan | nan | nan | nan
-9.9 | 10 | 1 | -2200 | 100 | B | TRUE
-9.8 | 11 | 2 | -2211 | 1 | D | FALSE
非常欢迎任何意见和想法!
【问题讨论】:
-
我只是要求澄清一下。在最后一个数据帧中,第 3 行,
is_within_max_target是FALSE,因为((-9.8-2)= -11.8) > D=0.5? -
该值为假,因为最小差异在 D 列中,其值为 1,而 D 的最大差异为 0.5。
标签: python python-3.x pandas dataframe