Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Pandas – 複数の列から先頭と末尾の空白を削除する方法

文字列データの先頭や末尾にある余分な空白(スペース)を削除するには、Pandasのstrip()メソッドを使用します。まずは、「Product Category」「Product Name」「Quantity」の3つの列を持つDataFrameを作成してみましょう。

import pandas as pd

# 3つの列を持つDataFrameを作成
dataFrame = pd.DataFrame({
    'Product Category': [' Computer', ' Mobile Phone', 'Electronics ', 'Appliances', ' Furniture', 'Stationery'],
    'Product Name': ['Keyboard', 'Charger', ' SmartTV', 'Refrigerators', ' Chairs', 'Diaries'],
    'Quantity': [10, 50, 10, 20, 25, 50]
})

このデータには、' Computer''Electronics ' のように、先頭または末尾に空白が含まれた値が存在します。

複数の列から空白を削除する方法

複数の列から空白を削除するには、対象となる各列に対して .str.strip() を呼び出し、その結果を元の列に代入し直します。

dataFrame['Product Category'] = dataFrame['Product Category'].str.strip()
dataFrame['Product Name'] = dataFrame['Product Name'].str.strip()

完全なコード例

以下に、最初から最後までの一連のコードを示します。

import pandas as pd

# 3つの列を持つDataFrameを作成
dataFrame = pd.DataFrame({
    'Product Category': [' Computer', ' Mobile Phone', 'Electronics ', 'Appliances', ' Furniture', 'Stationery'],
    'Product Name': ['Keyboard', 'Charger', ' SmartTV', 'Refrigerators', ' Chairs', 'Diaries'],
    'Quantity': [10, 50, 10, 20, 25, 50]
})

# 複数の列から空白を削除して元のDataFrameに反映
dataFrame['Product Category'] = dataFrame['Product Category'].str.strip()
dataFrame['Product Name'] = dataFrame['Product Name'].str.strip()

# 空白削除後のDataFrameを表示
print("空白を削除した後のDataFrame:\n", dataFrame)

実行結果

上記のコードを実行すると、次のような出力が得られます。

空白を削除した後のDataFrame:
   Product Category   Product Name  Quantity
0         Computer       Keyboard        10
1     Mobile Phone        Charger        50
2      Electronics        SmartTV        10
3       Appliances  Refrigerators        20
4        Furniture         Chairs        25
5       Stationery        Diaries        50

補足:strip系メソッドのバリエーション

Pandasの文字列メソッドには、用途に応じて以下のような種類があります。

  • str.strip():先頭と末尾の両方の空白を削除
  • str.lstrip():先頭の空白のみを削除
  • str.rstrip():末尾の空白のみを削除

また、空白以外の特定の文字だけを取り除きたい場合は、str.strip('文字') のように引数で指定することも可能です。データクレンジングの際に活用すると、集計や比較処理の精度向上につながります。

  1. PythonでIPアドレスから先行ゼロ(先頭の0)を削除する方法

    IPアドレスには、オクテットごとに余分な先行ゼロ(先頭の「0」)が含まれていることがあります。例えば「200.040.009.400」のような表記は、正規の形式では「200.40.9.400」と表されます。この問題を解決する基本的な考え方はシンプルです。まずIPアドレスの文字列を「.」(ドット)で分割し、各部分を整数型(int)に変換します。整数への変換時点で先頭のゼロは自動的に取り除かれるため、その後、再び文字列に戻して「.」で連結すれば、整形済みのIPアドレスが完成します。実行例入力 : 200.040.009.400 出力 : 200.40.9.400アルゴリズムStep 1: IPアド

  2. Pythonで文字列の先頭と末尾の空白をすべて削除する方法

    strip()メソッドで両端の空白をまとめて削除するPythonで文字列の先頭と末尾にある空白(半角スペース、タブ、改行など)をすべて削除したい場合は、文字列クラスのstrip()メソッドを使います。このメソッドは、文字列両端の空白を一度に取り除いてくれます。>>>   Hello People   .strip()Hello Peopleこのように、前後の余分な空白が取り除かれたきれいな文字列が得られます。ユーザー入力の整形やファイルから読み込んだデータのクリーニングなど、日常的なテキスト処理で非常によく使われるメソッドです。先頭または末尾だけの空白を