競馬AIを作成するため、Colaboratoryとpandasを使う機会が増えました。スクレイピングした年度別の競馬レース結果のcsvを結合するコマンドを多用するため、備忘も兼ねてコマンドを記載したいと思います。
Colaboratoryとpandasで簡単にCSVファイルを結合する方法
前提条件
結合対象の下記3つのcsvファイルを、Colaboratoryのノートブックにアップロードする。
2021_data.csv
2022_data.csv
2023_data.csv
結合するコマンド
import pandas as pd
# ファイルの読み込み
df_2021 = pd.read_csv('2021_data.csv')
df_2022 = pd.read_csv('2022_data.csv')
df_2023 = pd.read_csv('2023_data.csv')
# データフレームの結合
combined_df = pd.concat([df_2021, df_2022, df_2023], ignore_index=True)
# 結合後のデータフレームの確認
print(combined_df.head()) # 必要に応じて先頭の数行を表示
# 結合後のデータフレームをCSVファイルとして保存
combined_df.to_csv('combined_data.csv', index=False)
コードの解説
上記のコードでは、まずpandasのread_csv()
関数を使用して各CSVファイルをデータフレームとして読み込んでいます。次に、concat()
関数を使用してデータフレームを結合しています。ignore_index=True
を設定することで、結合後のデータフレームに新しい連番のインデックスを付けています。
最後に、head()
関数を使用して結合後のデータフレームの先頭の数行を表示し、to_csv()
関数を使用して結合後のデータフレームをCSVファイルとして保存しています(index=False
を設定して、インデックスをCSVに含めないようにしています)。
このコードを実行すると、”combined_data.csv”という名前のファイルが作成され、2021年から2023年までのデータが結合されたデータセットが保存されます。必要に応じて、ファイル名や保存先のパスを適宜変更してください。
まとめ
ファイルの結合は、ターミナルやコマンドプロンプトでも実行できますが、結合後にpandasなどで続けて結合する場合などは、Colaboratoryで直接編集した方が効率が良かったりもします。データ加工用のコマンドなどで便利なものがあれば、またご紹介できればと思います。