Pandasで作成した行列で特定の行や列を削除するにはdrop関数を使います。
Parameters
———-
labels : single label or list-like
Index or column labels to drop.
axis : {0 or ‘index’, 1 or ‘columns’}, default 0
Whether to drop labels from the index (0 or ‘index’) or
columns (1 or ‘columns’).
index : single label or list-like
Alternative to specifying axis (“labels, axis=0“
is equivalent to “index=labels“).
.. versionadded:: 0.21.0
columns : single label or list-like
Alternative to specifying axis (“labels, axis=1“
is equivalent to “columns=labels“).
.. versionadded:: 0.21.0
level : int or level name, optional
For MultiIndex, level from which the labels will be removed.
inplace : bool, default False
If True, do operation inplace and return None.
errors : {‘ignore’, ‘raise’}, default ‘raise’
If ‘ignore’, suppress error and only existing labels are
dropped.
Returns
——-
DataFrame
DataFrame without the removed index or column labels.
例 Pandas DataFrameを作成します。
data = {'name':['Nakajima','Hanazawa','Hama','Isono'], 'id':[1,2,3,4], 'age':[48,30,28,51], 'weight':[60,78,64,58], 'height':[168,173,162,172]} data_f1 = pd.DataFrame(data) data_f1
結果
name | id | age | weight | height | |
---|---|---|---|---|---|
0 | Nakajima | 1 | 48 | 60 | 168 |
1 | Hanazawa | 2 | 30 | 78 | 173 |
2 | Hama | 3 | 28 | 64 | 162 |
3 | Isono | 4 | 51 | 58 | 172 |
Pandasのdrop関数
drop関数の削除処理はインプレースではありません。
本当に削除したいときは、第3引数に inplace=True を追加します。
data_f1.drop(['height'],axis=1)
結果
name | id | age | weight | |
---|---|---|---|---|
0 | Nakajima | 1 | 48 | 60 |
1 | Hanazawa | 2 | 30 | 78 |
2 | Hama | 3 | 28 | 64 |
3 | Isono | 4 | 51 | 58 |
もう一度元の変数を呼び出すとデータは削除されていません。
data_f1
結果
name | id | age | weight | height | |
---|---|---|---|---|---|
0 | Nakajima | 1 | 48 | 60 | 168 |
1 | Hanazawa | 2 | 30 | 78 | 173 |
2 | Hama | 3 | 28 | 64 | 162 |
3 | Isono | 4 | 51 | 58 | 172 |
Pythonのdel文
del文はPythonのリストの要素を削除する仕組み。こちらは本当に削除します。
del data_f1['height'] data_f1
結果
name | id | age | |
---|---|---|---|
0 | Nakajima | 1 | 48 |
1 | Hanazawa | 2 | 30 |
2 | Hama | 3 | 28 |
3 | Isono | 4 | 51 |