ノンプログラマーのためのPython学習サイト

Pandas|文字列の置換と空白の削除

eye_catch_Pandas

困っている人

  • Pandasで文字列を置換する方法を知りたい
  • 空白を削除する方法を知りたい
  • データを置換する具体的な操作方法を教えてほしい
この記事で解決できること
  1. Pandasで文字列を置換する方法が分かる
  2. 空白(全角・半角)を削除する方法が分かる
  3. データを置換する具体的な操作が分かる

この記事を書いている人

プログラミング(Python・Django・SQL・HTML・css・Bootstrapなど)を独学で習得。「Excel作業の自動化」「人工知能による予測」「Webアプリ開発」「Webスクレイピング」で業務改善×システム化を得意にしています。

Pythonによる文字列の置換と空白の削除について

「文字列の置換」と「空白の削除」は、データ分析の前処理によく使われるテクニックです。

実際のビジネスの現場では、Excel等に手入力したデータを使うこともあり、書式がバラバラだと集計に失敗することになります。データ分析は、まずデータの書式が統一されているかを事前に確認する必要があります。

データ データ型
り ん ご 空白(全角)が入っている
り ん ご 空白(半角)が入っている
アップル カタカナ
Apple 英語

今回は、Pandasのデータフレームにおける、文字列と空白を置換する方法を解説していきます。データ分析の前処理に欠かせないテクニックなので、ぜひ参考にしてください。

Pythonによる文字列・空白の置換方法

今回紹介するデータの置換方法です。全てreplaceメソッドの応用です。

No. 基本形 説明
1 str.replace(‘ ’, ”) 全角スペースの削除(全角の置換)
2 str.replace(‘ ‘, ”) 半角スペースの削除(半角の置換)
3 str.replace(‘りんご’, ‘アップル’) 平仮名からカタカナへ置換
4 str.replace(‘アップル’, ‘Apple’) カタカナから英語へ置換

Pythonによる文字列・空白の置換方法のサンプルデータ

この記事では以下のサンプルデータを使います。よろしければ、ダウンロードしてご利用ください。

[st-mybox title=”” fontawesome=”” color=”#757575″ bordercolor=”#7ca1b7″ bgcolor=”#ffffff” borderwidth=”2″ borderradius=”2″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]

  • 商品データ(’ item‘)

[/st-mybox]

また、GoogleColabへのサンプルデータ(Excelファイル)の読み込み方法については、以下の記事を参考にしてください。

[st-card id=180 label=”” name=”” bgcolor=”” color=”” fontawesome=”” readmore=”on”]

Pythonで空白(全角・半角)を削除する方法

それでは、空白(全角・半角)を削除する方法を説明していきます。まずはExcelファイルを読み込んでください。

Excelファイル(data_1)の読み込み

Pandasを使ってExcelファイルを読み込みます。文字列に空白(全角・半角)が入っていることが分かります。

import pandas as pd
df_1=pd.read_excel("/content/item.xlsx")
df_1

1.pandasをインポート
2.変数(df_1)にExcelファイルから読み込んだデータフレームを代入
3.変数(df_1)を出力

空白(全角)の削除

「商品名」の列の空白(全角)を削除します。「商品名_1」に置換後のデータが表示されています。※空白(半角)は残っている状態。

df_1['商品名_1']=df_1['商品名'].str.replace(' ', '')
df_1

1.変数(df_1[‘商品名_1’])に、空白(全角)を削除したデータを代入
2.変数(df_1)を出力

空白(半角)の削除

「商品名_1」の列の空白(半角)を削除します。「商品名_2」に置換後のデータが表示されています。※全ての空白(全角・半角)が削除されている状態。

df_1['商品名_2']=df_1['商品名_1'].str.replace(' ', '')
df_1

1.変数(df_1[‘商品名_2’])に、空白(半角)を削除したデータを代入
2.変数(df_1)を出力

Pythonで文字列を置換する方法(平仮名・カタカナ・英語)

次に、文字列を置換する方法を説明していきます。具体的には”平仮名からカタカナ”、”カタカナから英語”に置換します。空白(全角・半角)の削除と同様「replaceメソッド」を使用します。

平仮名からカタカナへの置換

「商品名_2」の列の”りんご”を”アップル”に置換します。「商品名_3」に置換後のデータが表示されています。

df_1['商品名_3']=df_1['商品名_2'].str.replace('りんご', 'アップル')
df_1

1.変数(df_1[‘商品名_3’])に、”りんご”から”アップル”に変換したデータを代入
2.変数(df_1)を出力

平仮名からカタカナへの置換(複数)

次に、複数の文字列を置換する方法を説明します。「商品名_3」の列の”ぶどう”を”グレープ”に、”みかん”を”オレンジ”に置換します。「商品名_4」に置換後のデータが表示されています。

df_1['商品名_4']=df_1['商品名_3'].str.replace('ぶどう', 'グレープ').replace('みかん', 'オレンジ')
df_1

1.変数(df_1[‘商品名_4’])に、”ぶどう”から”グレープ”、”みかん”から”オレンジ”に変換したデータを代入
2.変数(df_1)を出力

カタカナから英語への置換(複数)

「商品名_4」の列の”アップル”を”Apple”に、”グレープ”を”Grape”に置換します。「商品名_5」に置換後のデータが表示されています。

df_1['商品名_5']=df_1['商品名_4'].str.replace('アップル', 'Apple').replace('グレープ', 'Grape')
df_1

1.変数(df_1[‘商品名_5’])に、”アップル”から”Apple”、”グレープ”から”Grape”に変換したデータを代入
2.変数(df_1)を出力

Pythonによる文字列の置換と空白の削除まとめ

Pythonによる「文字列の置換」と「空白(全角・半角)の削除」について解説しました。

データ分析を行う前には、使用するデータの書式が統一されているかを事前に確認する必要があります。バラバラのデータで分析してしまうと、間違った結果を出すことになるからです。

今回ご紹介したreplace関数は、文字列を一括で変換できる便利なメソッドなので、参考にしてください。

最後まで読んでいただき、ありがとうございます。