Windows11 WSL2 Ubuntu Python Ⅱ

すべての CSV データをスライシング

ここまでで、データのスライシングができるようになりました。
引き続き、すべての CSV データをスライシングして行きます。
すべての CSV データを先頭値を一つずつずらしながらスライシングし配列を作成します。
スライスグループ数は
100-25+1 = 76
76×25 の配列になります。

  1. 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]):
    の書き方が一般的かもしれません。

  2. 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]に対して相関係数を求めます。


  • 相関係数の応用 に進む
  • データのスライシング に戻る
  • データのスライシング(1次元) に戻る
  • データ結合ファイル動作確認 に戻る
  • pandas を使う に戻る
  • scikit-learn 動作ファイル確認 に戻る
  • scikit-learn インストール に戻る
  • 相関係数まとめ に戻る
  • NumPy を使う に戻る
  • ロ-ソク足表示ファイル作成 に戻る
  • pandas インスト-ル に戻る
  • Windows11 WSL2 Ubuntu Python パッケージ に戻る
  • 70VPS に戻る