はじめてPandasを使用して実装していた時は、よくJupyter labを使用していました。
ただ、実装によっては「Jupyter labは上手くいったけど、VS Codeだとなぜかエラーが起こる」という事態が少なくなかったです。
そこから自分は、VS Codeでデバッグし実装の動作確認をするようになりました。
ただ、単純に print() を使用してデータフレームの中間データを確認するとき、特に列数・行数が多いデータフレームの中間データを確認するときは、print()だとデータフレームの一部分しか表示されず、デバッグでの確認に苦労していました。
そこで、諸先輩型からご教授いただいた、
Pandasでの実装途中に、VS Codeのデバッグで中間データを確認したい時に使える便利コードを共有したいと思います。
①printで全ての列情報を確認する
import pandas as pd
pd.set_option('display.max_columns', None)
pd.set_option() でデータフレームの表示設定を変更することができます。
第二引数には表示させたい列の最大数を設定できます。(Noneを設定すると、データフレームの全列を表示させることができます。)
②printで全ての行情報を確認する
import pandas as pd
pd.set_option('display.max_rows', None)
pd.set_option() の第一引数を 'display.max_rows'に変更することで、第二引数で指定した行数を表示させるように変更できます。
(Noneを設定すると、データフレームの全行を表示させることができます。)
③to_excel()で中間データをエクセルで吐き出させる
import pandas as pd
emp_df = pd.DataFrame([[1, '山田', '東京都', '1001'], [2, '田中', '大阪府', '1001'], [3, '鈴木', '神奈川県', '1002']],
columns=['EMPLOYEE_ID', 'EMPLOYEE_NAME', 'EMPLOYEE_ADDRESS', 'DIVISION_ID'])
division_master = pd.DataFrame([['1001', '営業課'], ['1002', '総務課']],
columns=['DIVISION_ID', 'DIVISION_NAME'])
emp_data = pd.merge(emp_df, division_master, on='DIVISION_ID', how='inner')
# 基本的な書き方
emp_data.to_excel('emp_data.xlsx')
# インデックスを除外する場合
emp_data.to_excel('emp_data.xlsx', index=False)
# 欠損値を置換する場合
emp_data.to_excel('emp_data.xlsx', na_rep='NA')
printでも中間データを確認することはできますが、行数、列数が多い場合だとターミナルで見るには少々みづらい場合が多いです。
その場合は、中間データをExcelで出力してしまう方が早いです。
サンプルコードでは'emp_data.xlsx'のように、Excelファイル名のみを記述していましたが、出力したいExcelファイルを特定のフォルダに出力させることも可能です。
終わりに
簡単に3つご紹介させていただきましたが、他にもおすすめできるコードや拡張機能などがございましたらご共有いただけますと幸いです!
初めての記事投稿ですので、拙いところがあったかと思いますが、最後までご覧いただきありがとうございました。