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

Python – Pandas DataFrameから空白(ホワイトスペース)を削除する方法

Pandas DataFrameの空白を削除する方法

文字列の先頭や末尾にある空白(ホワイトスペース)を取り除くには、strip()メソッドを使用します。まず、必要なPandasライブラリをエイリアス付きでインポートしましょう。

import pandas as pd

次に、3つの列を持つDataFrameを作成します。最初の列「Product Category」には、先頭や末尾に空白が含まれたデータが入っています。

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]
})

単一の列「Product Category」から空白を削除するには、.str.strip()を使い、その結果を元の列に代入し直します。

dataFrame['Product Category'] = dataFrame['Product Category'].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]
})

# 単一の列「Product Category」から空白を削除
dataFrame['Product Category'] = dataFrame['Product Category'].str.strip()

# 結果を表示
print("空白を削除した後のDataframe...\n", dataFrame)

出力結果

上記のコードを実行すると、次のような出力が得られます。「Computer」「Mobile Phone」「Electronics」などの値から余分な空白が取り除かれているのが確認できます。

Dataframe after removing whitespaces...
  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()以外にも、目的に応じて以下のメソッドが便利です。

  • str.lstrip():先頭の空白のみを削除します。
  • str.rstrip():末尾の空白のみを削除します。
  • str.replace(' ', ''):文字列内のすべての空白を削除します。

また、複数の文字列型の列に対して一括で適用したい場合は、select_dtypes(include='object')で対象列を取得し、apply(lambda x: x.str.strip())と組み合わせると効率的です。データの前処理では、CSVファイルの読み込み時に意図しない空白が混在することが多いため、分析前にstrip()でクリーンアップしておくことをおすすめします。

  1. 【Python】Pandas DataFrameからnull(欠損値)行を削除する方法|dropna()の使い方

    PandasのDataFrameからnull(NaN)行を削除するには、dropna()メソッドを使用します。この記事では、NaNを含むCSVファイルを読み込み、dropna()で欠損値を含む行を取り除くまでの手順を、サンプルコードと実行結果とともにわかりやすく解説します。前提:NaNを含むCSVファイル今回の例では、一部にNaN(null値)が含まれる以下のようなCSVファイル(CarRecords.csv)を使用します。手順1:read_csv()でCSVファイルを読み込むまずpandasをインポートし、read_csv()を使ってCSVファイルを読み込みます。ここではデスクトップ上に保存

  2. Python Pandas:read_csvのskipinitialspaceでCSV読み込み時の先頭スペースをスキップする方法

    PandasでCSVの先頭スペースをスキップするには?PandasでDataFrameを読み込む際、データの先頭にある余分な空白(初期スペース)を取り除きたい場合は、read_csv()メソッドのskipinitialspaceパラメータを使用します。このパラメータをTrueに設定すると、区切り文字(カンマなど)の直後にある空白が自動的にスキップされます。CSVファイルの中には、カンマの後に不要なスペースが混ざっているケースが少なくありません。そのまま読み込むと、列名や値の先頭に空白が残り、条件検索やグループ化の際にデータが正しく一致しない原因となります。skipinitialspace=Tr