我想要一张这样的表
x = [
range(0,16),
range(16,18),
range(18,20),
range(22,24),
range(24,26),
range(26,28),
range(28,30),
range(30,32),
range(32,34),
range(34,36),
range(36,38),
range(38,99),
]
values = [.2, .4, 1,1,1,1,1,1,1,1,1,1]
df_c = pd.DataFrame([x, values]).transpose()
然后我要输入一个值,如果它在列a 和 b 的值之间,则返回列c 的价值。
我想过制作一个带有范围值的数据框,看看值是否是范围,但我还需要检查浮点值:
{{1}}
有更好的方法吗?
答案 0 :(得分:1)
def c_if_between(a, b, c, val):
interval = sorted(a,b)
if interval[0] < val < interval[1]:
return c
答案 1 :(得分:0)
def c_if_between(a, b, c, val):
if sorted([a, b, val])[1] == val:
return c
答案 2 :(得分:0)
import numpy as np
np.array(c)[(value >= np.array(a)) & (value < np.array(b))]