株価の板情報を基に、pandasのデータフレームで以下のようなファイルを作っています。
これを、現在値の2499.5を基準に0.1%刻み(変数にしたい)でqtyの合計の表に集計したいです。
indexの0から9が売りの気配、10から19が買いの気配です。
コードも自分で考えて打ち込んでみたものの全く話にならなそうだったので、いきなりご相談させていただきました。
イメージはpandas.pivot_table()に近いのですが、範囲で集計できなかったので、別の案を考えています。
price qty 0 2569.0 400.0 1 2560.0 400.0 2 2549.0 100.0 3 2536.0 300.0 4 2525.0 100.0 5 2524.0 100.0 6 2520.0 400.0 7 2510.0 100.0 8 2501.0 100.0 9 2500.0 9500.0 10 2499.0 2600.0 11 2480.0 300.0 12 2455.0 200.0 13 2451.0 100.0 14 2450.0 400.0 15 2400.0 200.0 16 2390.0 300.0 17 2380.0 1000.0 18 2350.0 500.0 19 2331.0 200.0
price qty 0 成行 400.0 1 それ以上 400.0 2 2517.0 100.0 3 2515.0 300.0 4 2512.0 100.0 5 2510.0 100.0 6 2507.0 400.0 7 2505.0 100.0 8 2502 100.0 9 2500.0 9500.0 ←現在値を基準に上下に0.1%ずつ幅を持たせて集計したい 10 2498.0 2600.0 11 2495.0 300.0 12 2493.0 200.0 13 2490.0 100.0 14 2488.0 400.0 15 2485.0 200.0 16 2383.0 300.0 17 2380.0 1000.0 18 それ以下 500.0 19 成行 200.0
追加でお願いします。
cutした後に1行減ってしまいます。
pandasの扱いに慣れていなくて、どのように処理すれば上手く集計できるのかわかりません。
色々と申し訳ありませんが、どうぞご教示ください。
df_refact.csv
1price,qty 2989.0,9200.0 3988.0,9400.0 4987.0,11400.0 5986.0,12600.0 6985.0,9300.0 7984.0,7200.0 8983.0,6100.0 9982.0,7800.0 10981.0,4800.0 11980.0,48600.0 12979.0,38800.0 13978.0,1200.0 14976.0,2400.0 15975.0,11600.0 16974.0,1000.0 17973.0,2100.0 18972.0,1600.0 19971.0,3100.0 20970.0,5400.0 21969.0,1700.0 22
after_cut.csv
1price,qty 2970.0,5400.0 3971.0,3100.0 4972.0,1600.0 5973.0,2100.0 6974.0,1000.0 7975.0,11600.0 8976.0,2400.0 90.0,0.0 10978.0,1200.0 11979.0,38800.0 12980.0,48600.0 13981.0,4800.0 14982.0,7800.0 15983.0,6100.0 16984.0,7200.0 17985.0,9300.0 18986.0,12600.0 19987.0,11400.0 20988.0,9400.0 21
li.csv
19.697000000000000455e+02 29.707000000000000455e+02 39.717000000000000455e+02 49.726000000000000227e+02 59.736000000000000227e+02 69.746000000000000227e+02 79.756000000000000227e+02 89.766000000000000227e+02 99.775000000000000000e+02 109.785000000000000000e+02 119.795000000000000000e+02 129.805000000000000000e+02 139.815000000000000000e+02 149.823999999999999773e+02 159.833999999999999773e+02 169.843999999999999773e+02 179.853999999999999773e+02 189.863999999999999773e+02 199.872999999999999545e+02 209.882999999999999545e+02 21
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/29 08:21
2020/09/29 12:57
2020/09/29 13:45
2020/09/29 14:27
2020/09/29 15:37
2020/10/02 17:15
2020/10/02 23:34
2020/10/03 15:22