gpt4 book ai didi

python - 根据条件将新数据从另一个 Dataframe 添加到 Dataframe

转载 作者:行者123 更新时间:2023-12-05 08:44:50 26 4
gpt4 key购买 nike

所以我的问题是如何根据另一个数据框的条件将新列中的数据添加到数据框中。这很难说,所以我在这里举个例子

df1

columns a b c
0 10 1
10 15 3
15 20 5


df2
columns d e
3.3 10
5.5 20
14.5 11
17.2 5

我想在这里做的是将另一列f添加到df2,它的值来自df1这样如果 d[i] 在 a[j] 和 b[j] 之间,则将值 c[j] 复制到 df2 中的新列 f[i]。例如:d[1] = 5.5 所以 0< 5.5< 10 因此,f[1] = c[0] = 1

最终结果应该是这样的

df2
columns d e f
3.3 10 1
5.5 20 1
14.5 11 3
17.2 5 5

非常感谢任何帮助!

问候,

史蒂夫

最佳答案

假设 df1 a 和 b 中的间隔不重叠,您可以使用 pd.cutpd.IntervalIndex :

import pandas as pd

# Your dfs here
df1 = pd.read_clipboard()
df2 = pd.read_clipboard()

idx = pd.IntervalIndex.from_arrays(df1["a"], df1["b"])
mapping = df1["c"].set_axis(idx)

df2["f"] = pd.cut(df2["d"], idx).map(mapping)

df2:

      d   e  f
0 3.3 10 1
1 5.5 20 1
2 14.5 11 3
3 17.2 5 5

关于python - 根据条件将新数据从另一个 Dataframe 添加到 Dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75263740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com