pandas - データの行または列を削除します

まず、サンプルデータとしてDataFrame形式のデータを作成します。

# 创建一个DataFrame格式数据
data = {
    
    'a': ['a0', 'a1', 'a2'],
        'b': ['b0', 'b1', 'b2'],
        'c': [i for i in range(3)],
        'd': 4}
df = pd.DataFrame(data)
print('举例数据情况:\n', df)

ここに画像の説明を挿入します
注: DataFrame は最も一般的に使用される pandas オブジェクトであり、pandas を使用してデータ ファイルを読み取った後、データは DataFrame データ構造のメモリに保存されます。

Pandas データの行と列の削除には、主に Drop() 関数と del 関数が使用されます。使用法は次のとおりです:
1. Drop() 関数の
構文:
DataFrame.drop(labels,axis=0,level=None,inplace=False,errors= '上げる')

パラメータ 説明する
ラベル 削除する行または列のラベル (行名または列名) を表す文字列または配列を受け取ります。デフォルト値なし
操作の軸 (行または列) を表す 0 または 1 を受け取ります。デフォルトは、行を表す 0、列を表す 1 です。
レベル ラベルのレベルを表す int またはインデックス名を受け取ります。デフォルトはなしです
所定の位置に 操作が元のデータに対して有効かどうかを示すブール値を受け取ります。デフォルトは False です。
エラー errors='raise' を指定すると、ラベルが行名または列名を受け取らない場合にプログラムがエラーをスローし、プログラムの実行が停止します。errors='ignore' を指定すると、行名も列名も無視され、既存の行名のみが処理されます。または列名。列名に対して操作を実行します。デフォルトは「errors='raise」です。

例 1: 列 d を削除する

df1 = df.drop(labels='d', axis=1)
print('删除d列前:\n', df)
print('删除d列后:\n', df1)

ここに画像の説明を挿入します
例 2: 最初の行を削除する

df2 = df.drop(labels=0)
print('删除前:\n', df)
print('删除列:\n', df2)

ここに画像の説明を挿入します
例 3: 複数の行と列を同時に削除する

df3 = df.drop(labels=['a', 'b'], axis=1) # 同时删除a,b列
df4 = df.drop(labels=range(2)) # 等价于df.drop(labels=[0,1])
print('删除前:\n', df)
print('删除多列(a,b):\n', df3)
print('删除多行(第1,2行):\n', df4)

ここに画像の説明を挿入します
注: (1) 列を削除する場合、軸のデフォルトは 0 (行) であるため、軸パラメータを省略することはできません。( 2)
inplace パラメータを追加しない場合、デフォルトでは元のデータは変更されず、結果を新しい変数に割り当てる必要があります。

2. Del 関数の
構文: del df['列名']
この操作は元のデータ df を削除します。一度に削除できる列は 1 つだけです。
正しい使い方:

del df['d']
print('原地删除d列后:\n', df)

ここに画像の説明を挿入します
間違った使用法:

del df[['a', 'b']]
print(df)

ここに画像の説明を挿入します
上記はパンダを使用して特定の行と列のデータを削除する方法ですが、del() と比較すると、drop() の方が柔軟で実用的です。

—終わり—
[WeChatで[1桁のコード]を検索してフォローしてください]

おすすめ

転載: blog.csdn.net/LHJCSDNYL/article/details/124784943