2017-06-29 4 views
0

は、私は、入力した値をしたい、このPythonで範囲リストを作成するには?

a b c 
0 16 .2 
16 18 .4 
18 20 1 
20 22 1 
22 24 1 
24 26 1 
26 28 1 
28 30 1 
30 32 1 
32 34 1 
34 36 1 
36 38 1 
38 99 1 

のようなテーブルを持ちたいと、それはBの間でだ場合の値の値は、C列を返します " 。

私は範囲値でデータフレームを作り、中に値が範囲であれば見て思ったが、私はまた、浮動小数点値をチェックする必要があります。

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() 

はこれを行うには良い方法はありますか?

+0

val'は 'A'と 'B'の間ではありません'場合は、出力に何をしたいですか? –

答えて

0
def c_if_between(a, b, c, val): 
    if sorted([a, b, val])[1] == val: 
     return c 
1
def c_if_between(a, b, c, val): 
    interval = sorted(a,b) 
    if interval[0] < val < interval[1]: 
     return c 
0
import numpy as np 
np.array(c)[(value >= np.array(a)) & (value < np.array(b))] 
+1

このコードは質問に答えるかもしれませんが、どのようにして問題が解決されるのか、なぜそれが解決されるのかについての追加の文脈を提供すると、回答の長期的価値が向上します。 –

関連する問題