前提・実現したいこと
プログラミング初心者です
リストの中身だけを抽出する方法について教えていただきたいと思っています
リストのの中身の数値を使って計算することが目的です
リスト内に入っている数値は pandas の read_csv よりデータを読み込み、リスト化し
リストの一番最後の値を使います
最後の値は x = X[-1]で求めています
以上の条件を仮定します
以下の応答が 888 のみで[]が外したいです
またリストの要素同士で計算することも目標としています
y = listY[-1] - listY[0]
よろしくお願いいたします
python
1x = [888] 2 3x 4>>> [888] 5
試したこと
安直な int(x) は試しましたがダメですね…
###追記(上記の内容では不十分でした)
python
1def clamp(value, min_value, max_value): 2 return min(max_value, max(min_value, value)) 3 4 5def scale(value, from_min, from_max, to_min=0, to_max=8): 6 from_range = from_max - from_min 7 to_range = to_max - to_min 8 return (((value - from_min) / from_range) * to_range) + to_min 9 10 11 12 ALLPnow = pd.read_csv(r'C:~~~~~~~~~~~.csv', header=None,usecols=[1]) 13 ALLPnow = list(ALLPnow.as_matrix().tolist()) 14 15 16 Pnow = ALLPnow[-1] 17 Pnow # >>>[828] 18 type(Pnow) # >>>list 19 Pget = 300 20 type(Pget) # >>>int 21 # 座標計算 22 Pnow_range1 = (0,1600) 23 Pnow_range2 = (1600,2800) 24 Pget_range1 = (0,1600) 25 Pget_range2 = (1600,2800) 26 27 Pnow1 = scale(clamp(Pnow, *Pnow_range1), *Pnow_range1) #Errer 28 Pnow2 = scale(clamp(Pnow, *Pnow_range2), *Pnow_range2) #Errer 29 Pget1 = scale(clamp(Pget, *Pget_range1), *Pget_range1) #OK 30 Pget2 = scale(clamp(Pget, *Pget_range2), *Pget_range2) #OK
このコードですと '>' not supported between instances of 'list' and 'int' と返答があります

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/10 11:31
2019/07/10 23:48 編集
2019/07/11 11:04