[英]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.