Python:pandasのDataFrameにデータを削除してみる
DataFrameにデータを入れることができたので、
次はデータの削除をまとめていきたいと思います。
下準備
DataFrameに以下のデータを入れておきます。
name | age | add | |
---|---|---|---|
0 | aaa | 18 | Tokyo |
1 | bbb | 20 | Osaka |
2 | ccc | 22 | Nagoya |
import pandas as pd data = {"name":["aaa","bbb","ccc"],"age":["18","20","22"],"add":["Tokyo","Osaka","Nagoya"]} df = pd.DataFrame(data)
これでdfにデータが入りました。
"age"の列を削除してみよう。
削除を行うにはdropを使います。
df_new = df.drop("age",axis = "columns")
これで、age列を削除したものをdf_newというDataFrameにいれました。
(dfのage列は削除されていません。元のままです)
axisとはDataFrameの向きを指定するのに使用します。
axis = 0の場合は行の向き(指定しなければデフォルトはこちら)
axis = 1
もしくはaxis = "columns"の場合は列の向きです。
df_newのイメージ図
name | add | |
---|---|---|
0 | aaa | Tokyo |
1 | bbb | Osaka |
2 | ccc | Nagoya |
bbbさんの情報を削除してみよう。
bbbさんのデータはインデックスが1なので、
インデックスラベル(今回の場合は「1」)を指定すれば削除されます。
df_new2 = df.drop(1)
df_new2のイメージ図
name | age | add | |
---|---|---|---|
0 | aaa | 18 | Tokyo |
2 | ccc | 22 | Nagoya |
複数の行や列を削除してみよう。
- 複数行削除の場合
さきほどはbbbさんのみを削除しましたが、
次はaaaさんとbbbさんの二人のデータを削除してみましょう。
df_new3 = df.drop([0,1])
df_new2のイメージ図
name | age | add | |
---|---|---|---|
2 | ccc | 22 | Nagoya |
- 列の複数列削除の場合
次に、ageとaddの列を削除してみましょう。
df_new4 = df.drop(["age","add"],axis = "columns")
df_new4のイメージ図
name | |
---|---|
0 | aaa |
1 | bbb |
2 | ccc |
dropの引数の中にinplaceというのがあります。
こちらについては次回にまとめたいと思います。
<最終更新日:2021/08/14>
2021/08/14 投稿