見出し画像

『Python実践データ分析100本ノック』ノック11〜14

今回は、『Python実践データ分析100本ノック』で学んだことをアウトプットします。

商品名の揺れを補正する

今回は、商品名の中で、「スペースの有無」「半角・全角」「大文字・小文字」の揺れを補正することで解決できると判断しました。

まずは現状把握から

まずは現状の把握から。補正後の結果が正しい結果かどうかを判定するために、現状の把握はとても重要です。

print(len(pd.unique(uriage_data.item_name)))
>>> 99

売上履歴のitem_nameの重複を除外したユニークなデータ件数をpd.uniqueで確認することができます。

本来はA~Zの26商品が99個に増えてしまっています。

データの揺れの解消

早速、データの揺れを解消していきます。

uriage_data['item_name'] = uriage_data['item_name'].str.upper()
uriage_data['item_name'] = uriage_data['item_name'].str.replace('  ', '')
uriage_data['item_name'] = uriage_data['item_name'].str.replace(' ', '')
uriage_data.sort_values(by='item_name', ascending=True)

画像1

1行目のstr.upper()で商品名の小文字を大文字に変換して統一しています。
2,3行目のstr.replace()で商品名の半角・全角スペースを除去しています。
4行目でデータitem_name順にソートし画面上に表示しています。

結果の検証

さて、これで終わりではありません。
必ず結果を検証することを忘れてはいけません。

print(pd.unique(uriage_data.item_name))
print(len(pd.unique(uriage_data['item_name'])))

画像2

先ほどと同じく、unique()関数で商品名の一覧とその数を取得します。
結果、A~Zの商品に統一され、件数も26件となり、商品名におけるデータの揺れが解消したことが確認できました。

今回の学びのまとめ

○現状の把握は実施する。補正後の結果が正しい結果かどうかを判定するためには、現状の把握が重要。

○ユニークなデータ件数はpd.uniqueで確認可能

○データの揺れの解消したら、補正結果を必ず検証する。


サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪