Windows11 WSL2 Ubuntu Python Ⅱ

pandas を使う

引き続き pandas を使ってみます。
pandas インスト-ル
で pandas をインスト-ルしました。
pandas で CSV ファイルを読込み結合したいと思います。
pandasでCSVファイルを読み込み結合する (concat)
が参考になります。

データ準備

結合したいデータを2つ準備します。
2つのデータファイルは
mane_chart_go.csv
mane_chart_go_1.csv
からダウンロードすることができます。
2つは豪ドル/円の毎日のデータで 2023/4/18~4/24 の値は重複しています。
今回は2つのデータを結合し、重複分を削除します。
ダウンロードしたデータ の保存先は
Wimdows OS の
Linux \Ubuntu-22.04 \\wsl.localhost フォルダ
Linux/Ubuntu-22.04/home/yamada/public_html/manep-w/mane_chart_go.csv
Linux/Ubuntu-22.04/home/yamada/public_html/manep-w/mane_chart_go_1.csv
とします。

データ結合ファイル作成

データ結合ファイルを作成していきます。

  1. ライブラリインポート

    必要となるライブラリをインポートします。
    pandas をインポートします。
    import pandas as pd

  2. CSV ファイル読込み

    2つのファイルの0行目のヘッダー情報は日本語で書かかれています。
    単に読込むと文字化けしますので、文字コードを cp932 と指定し文字化けしないようにします。
    xl_df1 = pd.read_csv("public_html/manep-w/mane_chart_go.csv", encoding="cp932")
    print(xl_df1) # (100, 11)
    xl_df2 = pd.read_csv("public_html/manep-w/mane_chart_go_1.csv", encoding="cp932")
    print(xl_df2)
    データ数も確認しておきましょう。
    print("データ数 xl_df2:", xl_df2.shape) # (14, 11)

  3. データ結合

    データを結合します。
    concat([ ]) メソッドを使います。
    xl_df12 = pd.concat([xl_df1, xl_df2])
    print(xl_df12) # (114, 11)

  4. 重複データ削除

    重複データを削除します。
    drop_duplicates()メソッドを使います。
    xl_df13 = xl_df12.drop_duplicates(keep='first', ignore_index=True)
    引数 keep の使い方
    'first' → 重複行の最初を残す
    'last' → 重複行の最後を残す
    False → 重複行をすべて削除
    引数 ignore_index の役割
    True にすると index を 0 から設定してくれます。
    print(xl_df13) # (109, 11)

  5. 終値(売り)の確認

    終値(売り)の最初と最後の値を確認します。
    Close = xl_df13["終値(売り)"].values
    Idx = xl_df13.index
    print(Idx,Close)
    print(Idx,Close)
    Idx = 0~108
    Close = 91.653~91.037
    のように確認されます。

  6. CSV ファイルに書込・保存

    xl_df13 を CSV ファイルにヘッダーもインデックスも含めて出力します。
    ファイル名は mane_chart_go_13.csv
    保存先はWimdows OS の
    Linux \Ubuntu-22.04 \\wsl.localhost フォルダ
    Linux/Ubuntu-22.04/home/yamada /public_html/manep-w/
    です。
    xl_df13.to_csv('public_html/manep-w/mane_chart_go_13.csv', quoting=1, index=False, encoding="cp932")

  7. CSV ファイル書込詳細Ⅰ

    quoting=1 として全てのフィールドをクォートします。
    数値、文字列を" "で囲みます。

  8. CSV ファイル書込詳細Ⅱ

    Index 引数(初期値 True)は、データフレイム xl_df13 のインデックスラベルを Unnamed:0 として mane_chart_go_13.csv へ書出します。
    Unnamed:0 を出力しないように index=False とします。

  9. CSV ファイル書込詳細Ⅲ

    encoding="cp932" がないと Excel で開いた時に文字化けします。
    ただ、この CSV ファイルを PHP ファイルで使用する場合は encoding="cp932" は省略します。

データ結合ファイル作成まとめ

ここまで説明してきたスクリプトをデータ結合ファイルをまとめます。

# coding: utf-8
import pandas as pd
xl_df1 = pd.read_csv("public_html/manep-w/mane_chart_go.csv", encoding="cp932")
print(xl_df1)
xl_df2 = pd.read_csv("public_html/manep-w/mane_chart_go_1.csv", encoding="cp932")
print(xl_df2)
# データ数の確認
print("データ数 xl_df2:", xl_df2.shape) # (14, 11)
# データを結合する
xl_df12 = pd.concat([xl_df1, xl_df2])

# データの一覧
print(xl_df12) # (114, 11)
# 重複データ削除
xl_df13 = xl_df12.drop_duplicates(keep='first', ignore_index=True)
print(xl_df13) # (109, 11)

Close = xl_df13["終値(売り)"].values
Idx = xl_df13.index
print(Idx)
print(Close)

# CSVファイルに書込・保存
# ヘッダーもインデックスも含めて出力。
# 全てのフィールドをクォートとする。
xl_df13.to_csv('public_html/manep-w/mane_chart_go_13.csv', quoting=1, index=False, encoding="cp932")

# yamada@yama:~$ conda activate
# (base) yamada@yama:~$ python3 public_html/pand-mg.py

上記ファイルを windows 側で作成します。
上記内容をすべてをコピ-し、Python ファイルを作成します。
自分の PC Windows で TeraPad 等を使用して作成できたらファイル名を pand-mg.py として保存します。
文字コ-ドは、UTF-8N
BOM なし
改行コ-ドは、LF
です。
保存先はホスト Wimdows OS の
Linux \Ubuntu-22.04 \\wsl.localhost フォルダ
Linux/Ubuntu-22.04/home/yamada/public_html/pand-mg.py
とします。
ここまででデータ結合ファイルを作成できました。
引き続き、このファイルの動作確認をしていきます。


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