『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行目のstr.upper()で商品名の小文字を大文字に変換して統一しています。
2,3行目のstr.replace()で商品名の半角・全角スペースを除去しています。
4行目でデータitem_name順にソートし画面上に表示しています。
結果の検証
さて、これで終わりではありません。
必ず結果を検証することを忘れてはいけません。
print(pd.unique(uriage_data.item_name))
print(len(pd.unique(uriage_data['item_name'])))
先ほどと同じく、unique()関数で商品名の一覧とその数を取得します。
結果、A~Zの商品に統一され、件数も26件となり、商品名におけるデータの揺れが解消したことが確認できました。
今回の学びのまとめ
○現状の把握は実施する。補正後の結果が正しい結果かどうかを判定するためには、現状の把握が重要。
○ユニークなデータ件数はpd.uniqueで確認可能
○データの揺れの解消したら、補正結果を必ず検証する。
サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪