概要
今回はDataFrameのデータの削除方法について紹介したいと思います。カラムや行を指定してデータを削除するにはdrop()
を利用します。
列を指定して列データを削除
列を指定して列データを削除するにはdrop(columns='{列名}')
とします。以下の例では、DataFrameからage
列を削除しています。また、drop()
操作は元のデータには影響を与えないことに注意してください。
df = pd.DataFrame({
'id': [1, 2, 3, 4, 5],
'name': ['taro', 'takuya', 'erika', 'hanako', 'jiro'],
'age': [20, 25, 18, 25, 25],
'sex': ['male', 'male', 'female', 'female', 'male'],
'height': [170, 180, 160, 165, 190]
})
df_new = df.drop(columns='age')
df_new.head()
# id name sex height
# 0 1 taro male 170
# 1 2 takuya male 180
# 2 3 erika female 160
# 3 4 hanako female 165
# 4 5 jiro male 190
元のdf
が変化していないことを確認します。
df.head()
# id name age sex height
# 0 1 taro 20 male 170
# 1 2 takuya 25 male 180
# 2 3 erika 18 female 160
# 3 4 hanako 25 female 165
# 4 5 jiro 25 male 190
複数の列を指定して列データを削除
複数の列を指定して列データを削除するには引数columns
にリスト型で複数の列名を指定します。以下の例ではage, sex
を削除しています。
df_new = df.drop(columns=['age', 'sex'])
df_new.head()
# id name height
# 0 1 taro 170
# 1 2 takuya 180
# 2 3 erika 160
# 3 4 hanako 165
# 4 5 jiro 19
行番号を指定して行を削除する
行を削除するにはパラメータaxis=0
を指定します。axis=0
行方向に削除、axis=1
は列方向の削除となります。デフォルトはaxix=0
のため行削除の場合は省略可能です。以下の例では2行目を削除しています。
df_new = df.drop(1, axis=0)
df_new.head()
# id name age sex height
# 0 1 taro 20 male 170
# 2 3 erika 18 female 160
# 3 4 hanako 25 female 165
# 4 5 jiro 25 male 190
まとめ
drop()
を使用したデータの削除はよく使う処理なので、繰り返し試して、データ操作に慣れるようにしましょう。