python函数根据主数据帧设置值

问题描述 投票:0回答:1

我需要定义一个函数,根据输入变量的值和主数据帧,该函数根据主数据帧分配返回值。

这是函数必须接收的主(df_master)数据帧,并且根据它和输入值,返回值:

值(来自) 值(直到) 返回值
0 30 1
31 50 2
51 100 3

例如,如果输入值 = 10,则返回 1

例如,如果输入值 = 90,则返回 3

...

该函数应该类似于:

def assing_value (input_var, df_master):
    ...

谢谢。

def assign(input_variable, df_master):
    ...
python function assign
1个回答
0
投票

尝试:

def assing_value(input_var, df_master):
    idx = pd.IntervalIndex.from_arrays(
        df_master["value (from)"], df_master["value (until)"], closed="both"
    )
    mask = idx.contains(input_var)
    
    return df_master[mask]["value to return"].squeeze()


print(assing_value(10, df))

打印:

1
© www.soinside.com 2019 - 2024. All rights reserved.