我需要定义一个函数,根据输入变量的值和主数据帧,该函数根据主数据帧分配返回值。
这是函数必须接收的主(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):
...
尝试:
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