繁体   English   中英

根据 df2 中的条件查找 df1 中的列值

[英]Looking up column value in df1 based on criteria in df2

我有一个 df y1,其中有一列“col_min_val”。 在这个 df 中,我存储了存储最小值的列(可以是从 y1 到 y50 的任何值)。

我想根据存储在 y1 中的“col_min_val”中的列名从名为 Ideal_df_test 的第二个 df 中获取相应的值。

假设 y1

X col_min_val
-20.0 y10
-19.9 y23
-19.8 y10

Ideal_df_test:对于 x = -20.0 我想 go 以 x = -20.0 和列 = y10 行并获取存储在其中的值。

我试过这段代码:

for i in range(len(y1)):
    y_ideal['y1'] = ideal_df_test[y1['col_min_val'].values[i]]

但它不能正常工作,因为它只存储一列中的值。 在我的示例中,所有内容都将具有基于 y10 的值。

我在哪里错了?

编辑:

Ideal_df_test 看起来像这样:

X y1 ... y50
-20.0 2.3 ... 0.1102
-19.9 -10.32 ... 23.05
-19.8 7500.0035 ... -1.2345

预期 output:

X y_from Ideal_df_test
-20.0 10
-19.9 7889.123
-19.8 4.35

其中 10 和 4.35 将是存储在 y10 中的值。 7889.123 存储在 y23 中的值。

尝试这个

df.set_index('DICT_KEY_COLUMN').to_dict()['DICT_VALUE_COLUMN']

这将创建一个字典,其中键是您设置的索引,值是指定的第二列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM