Pandas DataFrame 列を削除する方法
胡金庫
2023年1月30日
この記事では、Pandas の DataFrame
列を削除するさまざまな方法を紹介します。
del
メソッドdf.drop
メソッドdf.pop
メソッド
この記事では、同じ DataFrame
を使用して異なるメソッドを示します。
>>> from pandas import DataFrame
>>> df = DataFrame.from_items(
[('Alfa', [1, 2, 3]),
('Bravo', [4, 5, 6]),
('Charlie', [7,8, 9])],
orient='index',
columns=['A', 'B', 'C'])
>>> df
A B C
Alfa 1 2 3
Bravo 4 5 6
Charlie 7 8 9
DataFrame 列を削除する del
メソッド
>>> df
A B C
Alfa 1 2 3
Bravo 4 5 6
Charlie 7 8 9
>>> del df['A']
>>> df
B C
Alfa 2 3
Bravo 5 6
Charlie 8 9
del df['col_name']
は、名前が col_name
である DataFrame 列を削除します。
この del
メソッドの制限は、一度に 1つの列しか削除できないことです。
DataFrame 列を削除する df.drop
メソッド
drop(
self,
labels=None,
axis=0,
index=None,
columns=None,
level=None,
inplace=False,
errors="raise",
)
drop
メソッドはドロップ、つまり行または列から指定された labels
を削除または削除します。
labels
は、ドロップする単一のラベルまたはリストのようなインデックスまたは列ラベルです。
axis
は、インデックス/行(0
または index
)または列(1
または columns
)からラベルをドロップするかどうかを指定します。
index
、columns
は軸を指定する代わりになります。drop(labels, axis=0)
は drop(index=labels)
に等しく、drop(labels, axis=1)
は drop(column=labels)
に等しくなります。
inplace
は、inplace = True
の場合に DataFrame がその場で変更されることを指定します。そうでない場合、元の DataFrame が変更されていない新しい DataFrame を返します。
>>> df
A B C
Alfa 1 2 3
Bravo 4 5 6
Charlie 7 8 9
>>> df.drop(["B", "C"], axis=1)
A
Alfa 1
Bravo 4
Charlie 7
## or equally
>>> df.drop(columns=["B", "C"])
A
Alfa 1
Bravo 4
Charlie 7
## or drop the columns in place
>>> df.drop(columns=["B", "C"],inplace=True)
>>> df
A
Alfa 1
Bravo 4
Charlie 7
Pandas の DataFrame 列を削除する df.pop
メソッド
df.pop(item)
DataFrame の pop
メソッドはアイテムを返し、DataFrame から削除します。
>>> df
A B C
Alfa 1 2 3
Bravo 4 5 6
Charlie 7 8 9
>>> df.pop("A")
Alfa 1
Bravo 4
Charlie 7
Name: A, dtype: int64
>>> df
B C
Alfa 2 3
Bravo 5 6
Charlie 8 9
DataFrame データは、上記のようにその場で変更されます。
著者: 胡金庫
関連記事 - Pandas DataFrame
- Pandas DataFrame の列ヘッダーをリストとして取得する方法
- Pandas で DataFrame 列を日時に変換する方法
- Pandas DataFrame で浮動小数点数 float を整数 int に変換する方法
- Pandas DataFrame を 1つの列の値で並べ替える方法
- Pandas group-by と Sum の集計を取得する方法