困っている人
- Pandasで文字列を置換する方法を知りたい
- 空白を削除する方法を知りたい
- データを置換する具体的な操作方法を教えてほしい
- Pandasで文字列を置換する方法が分かる
- 空白(全角・半角)を削除する方法が分かる
- データを置換する具体的な操作が分かる
この記事を書いている人
プログラミング(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関数は、文字列を一括で変換できる便利なメソッドなので、参考にしてください。
最後まで読んでいただき、ありがとうございます。