ChatGPTとゴルフスイングデータを色々と(データの前処理その3)
はじめに
こんにちは、ChatGPT部の原田です!スイングデータシリーズ、
今回は、データの前処理その3、不要なカラムなどの削除をやっていこうと思います。
前回記事はこちら↓
1. カラム削除
13から21のナンバーがついているカラムは、すべてのレコードがNaNである不要な列です。
こちらを消していきます。
ChatGPTに聞いてみると
以下ChatGPTからの回答です。
Pandasを使用してDataFrameからカラムを削除するには、以下の方法を使用できます。
1.1. drop()メソッドを使用
import pandas as pd
# サンプルデータフレームを作成
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)
# カラム "B" を削除(新しいデータフレームとして返す)
df_dropped = df.drop(columns=['B'])
print(df_dropped)
実行結果
A C
0 1 7
1 2 8
2 3 9
1.2. 元のDataFrameを直接変更
# カラム "B" を削除(元のdfを直接変更)
df.drop(columns=['B'], inplace=True)
print(df)
1.3. del キーワードを使用
# カラム "B" を削除
del df['B']
print(df)
注意点
複数のカラムを削除したい場合は、リストで指定します:
df.drop(columns=['A', 'C'], inplace=True)
inplace=True を指定すると、元のDataFrameが直接変更されます。
お試しください!
df.drop(columns=['A', 'C'], inplace=True)
これを使います。
13から21の列は、複数列になっていて量が多いので
とお願いしたところ、
# カラム名が "13" から "21" を削除
df.drop(columns=[str(i) for i in range(13, 22)], inplace=True)
なんと便利な…
実際に実行してみると、
きれいに消えました。
ちなみにカラムを削除するとその列のデータも消えるため、
前回消したN/Aの残像であった" , "も、きれいに消えます。
こんな感じです。
最後にデータを更新して今回はここまで。
まとめ
今回はデータの前処理その3、不要なカラムの削除を行っていきました。
# カラム名が "13" から "21" を削除
df.drop(columns=[str(i) for i in range(13, 22)], inplace=True)
ここでfor文が使えるとは思いませんでした。Pythonはホント便利ですね。
一つ学びになりました。(for文と言えるかは微妙ですが…)
今回でデータの前処理は終わったので、次回からはアプリ作成に入ります。
お楽しみに!