Windows11 WSL2 Ubuntu Python Ⅱ
すべての CSV データをスライシング
ここまでで、データのスライシングができるようになりました。
引き続き、すべての CSV データをスライシングして行きます。
すべての CSV データを先頭値を一つずつずらしながらスライシングし配列を作成します。
スライスグループ数は
100-25+1 = 76
76×25 の配列になります。
- Close データ 25個ずつスライス
Close データを25個ずつにスライスします。
先頭値は 91.653 91.833 92.543 ・・・ の順とします。
Close のデータ数は 0~99 まで100個
Idx で表記すると
最初は 0~24 の25個
最後は 75~99 の25個
for 文で表記すると
for n in range(76):
となり n は 0 から 75 までを +1 ステップで処理して行きます。
Close のデータ数が変わってしまうことも配慮すると
for n in range(Idx[-24]):
の書き方が一般的かもしれません。 - for 文 処理のための初期設定
スライス数
n_25 = 25
スライス収容箱
sl_cl_t = []
sl_cl_t は最初は空にしておきます。
Close データを25個ずつにスライスして
Close[n:n+n_25]
これを順次 sl_cl_t に継ぎ足して行きます。for n in range(Idx[-24]): sl_cl_t = np.append(sl_cl_t, Close[n:n+n_25]).reshape(n+1,n_25)
reshape で n×25 の配列に変換しました。
追加で
print("sl_cl_t")
print(sl_cl_t)
print(sl_cl_t.shape)
として配列内容も表示させて置きましょう。
CSV データスライシングファイルまとめ
ここまで説明してきたCSV データスライシングファイルをまとめます。
# coding: utf-8 import numpy as np import pandas as pd xl_df1 = pd.read_csv("public_html/manep-w/mane_chart_go.csv", encoding="cp932") print(xl_df1) Close = xl_df1["終値(売り)"].values print("Close") print(Close) Idx = xl_df1.index print("Idx=", Idx) print("Idx[-24]=", Idx[-24]) n = 0 n_25 = 25 sl_cl = Close[n:n+n_25] print("sl_cl") print(sl_cl) sl_cl1 = Close[n+1:n+1+n_25] print("sl_cl1") print(sl_cl1) sl_cl2 = np.append(sl_cl, sl_cl1).reshape(n+2,n_25) print("sl_cl2") print(sl_cl2) print(sl_cl2.shape) sl_cl_t = [] for n in range(Idx[-24]): sl_cl_t = np.append(sl_cl_t, Close[n:n+n_25]).reshape(n+1,n_25) print("sl_cl_t") print(sl_cl_t) print(sl_cl_t.shape) # yamada@yama:~$ conda activate # (base) yamada@yama:~$ python3 public_html/dsc-sli-1.py
上記ファイルを windows 側で作成します。
上記内容をすべてをコピ-し、Python ファイルを作成します。
自分の PC Windows で TeraPad 等を使用して作成できたらファイル名を dsc-sli-1.py として保存します。
文字コ-ドは、UTF-8N
BOM なし
改行コ-ドは、LF
です。
保存先はホスト Wimdows OS の
Linux \Ubuntu-22.04 \\wsl.localhost フォルダ
Linux/Ubuntu-22.04/home/yamada/public_html/dsc-sli-1.py
とします。
CSV データスライシングファイル動作確認
CSV データスライシングファイルの動作確認をしていきます。
WSL2 Ubuntu のターミナルを立ち上げます。
立ち上げ方がわからない方は
Ubuntu の起動
を見てください。
yamada@yama:~$ conda activate
として conda 環境を有効にします。
public_html/dsc-sli-1.py ファイルを実行します。
(base) yamada@yama:~$ python3 public_html/dsc-sli-1.py
[結果]
日付 通貨ペア 足種別 始値(売り) 高値(売り) 安値(売り) 終値(売り) 始値(買い) 高値(買い) 安値(買い) 終値(買い) 0 2022/12/06 00:00:00 AUD/JPY 日足 91.527 92.339 91.426 91.653 91.682 92.353 91.433 91.660 1 2022/12/07 00:00:00 AUD/JPY 日足 91.608 92.126 91.552 91.833 91.721 92.131 91.598 91.840 2 2022/12/08 00:00:00 AUD/JPY 日足 91.769 92.576 91.623 92.543 91.872 92.583 91.628 92.550 3 2022/12/09 00:00:00 AUD/JPY 日足 92.424 92.897 91.700 92.807 92.598 92.900 91.982 92.814 4 2022/12/12 00:00:00 AUD/JPY 日足 92.551 92.965 92.375 92.870 92.826 93.183 92.411 92.877 .. ... ... .. ... ... ... ... ... ... ... ... 95 2023/04/18 00:00:00 AUD/JPY 日足 89.977 90.508 89.975 90.210 90.206 90.513 89.983 90.217 96 2023/04/19 00:00:00 AUD/JPY 日足 90.039 90.584 89.999 90.429 90.334 90.587 90.176 90.436 97 2023/04/20 00:00:00 AUD/JPY 日足 90.371 90.749 90.252 90.480 90.603 90.752 90.257 90.487 98 2023/04/21 00:00:00 AUD/JPY 日足 90.425 90.517 89.410 89.736 90.558 90.675 89.413 89.743 99 2023/04/24 00:00:00 AUD/JPY 日足 89.663 90.018 89.427 89.875 89.772 90.036 89.432 89.882 [100 rows x 11 columns] Close [91.653 91.833 92.543 92.807 92.87 92.935 92.97 92.307 91.415 91.722 87.983 88.804 88.252 89.136 89.001 89.899 90.628 90.168 89.401 88.834 88.14 90.723 90.085 90.876 91.151 91.146 91.509 90.113 89.201 89.343 89.579 89.464 88.744 90.301 91.839 91.729 92.031 92.657 92.287 92.084 91.775 92.014 91.092 90.81 91.299 91.238 91.016 91.211 90.893 92.234 92.987 92.625 92.129 92.313 92.797 92.548 91.839 91.69 91.76 91.811 91.663 92.064 92.026 91.946 91.502 90.362 90.513 89.698 88.907 88.824 89.67 88.312 89.043 88.296 88.252 88.353 87.883 87.526 86.871 87.484 87.802 88.78 89.064 88.763 89.853 88.935 88.227 87.907 87.911 88.726 88.948 89.119 89.937 89.724 90.126 90.21 90.429 90.48 89.736 89.875] Idx= RangeIndex(start=0, stop=100, step=1) Idx[-24]= 76 sl_cl [91.653 91.833 92.543 92.807 92.87 92.935 92.97 92.307 91.415 91.722 87.983 88.804 88.252 89.136 89.001 89.899 90.628 90.168 89.401 88.834 88.14 90.723 90.085 90.876 91.151] sl_cl1 [91.833 92.543 92.807 92.87 92.935 92.97 92.307 91.415 91.722 87.983 88.804 88.252 89.136 89.001 89.899 90.628 90.168 89.401 88.834 88.14 90.723 90.085 90.876 91.151 91.146] sl_cl2 [[91.653 91.833 92.543 92.807 92.87 92.935 92.97 92.307 91.415 91.722 87.983 88.804 88.252 89.136 89.001 89.899 90.628 90.168 89.401 88.834 88.14 90.723 90.085 90.876 91.151] [91.833 92.543 92.807 92.87 92.935 92.97 92.307 91.415 91.722 87.983 88.804 88.252 89.136 89.001 89.899 90.628 90.168 89.401 88.834 88.14 90.723 90.085 90.876 91.151 91.146]] (2, 25) sl_cl_t [[91.653 91.833 92.543 ... 90.085 90.876 91.151] [91.833 92.543 92.807 ... 90.876 91.151 91.146] [92.543 92.807 92.87 ... 91.151 91.146 91.509] ... [88.296 88.252 88.353 ... 90.21 90.429 90.48 ] [88.252 88.353 87.883 ... 90.429 90.48 89.736] [88.353 87.883 87.526 ... 90.48 89.736 89.875]] (76, 25)
上記のように表示されれば完了です。
sl_cl_t 配列[76×25]が完成しました。
引き続き、sl_cl_t 配列[76×25]に対して相関係数を求めます。