【Python】文字列の置換と空白の削除|Pandasデータフレーム

pandas_replace

困っている人

  • 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関数は、文字列を一括で変換できる便利なメソッドなので、参考にしてください。

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

コメントを残す

メールアドレスが公開されることはありません。