PythonのDataFrameで空白行を削除する方法(dropna)

スポンサードリンク
実行見本 Python
うたたねこ
うたたねこ
  • 読み込んだエクセルファイルの空白行を削除する方法が知りたい
  • 任意の列の空白行を削除したい

そんなお悩みを、Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。

スポンサードリンク

実行見本

スポンサードリンク

事前準備

  • pandasのインストール

pandasのインストール方法

pandasを初めて使用される場合は、下記コードを入力・実行して、インストールしてください。

pip install pandas

※pandasを使用したことがある場合は、このインストール作業は不要です。

スポンサードリンク

全ての空白行を削除する方法

全コード(全列の空白削除)

ひとまず全コードを網羅します。解説は後ほど行います。

import pandas as pd

df = pd.read_excel('input.xlsx')

df = df.dropna()

df.to_excel('output.xlsx', index = None)

df = df.dropna()

解説(全列の空白行を削除)

「dropna」(全列の空白行を削除)

>>5.df = df.dropna()

5行目の「dropna」で空白行を削除します。

全列を対象とする場合は、後ろの()内に何も記述する必要はありません

空白行を削除したdataframeを、再び変数「df」に格納しています。
これをしないと、空白行を削除した処理は反映されませんのでご注意ください。

【 データフレーム変数 = データフレーム変数.dropna() 】

その他の解説

▼「read_excel」などはこちらの記事で解説しております。

スポンサードリンク

任意の列のみ空白行を削除する方法

全コード(任意列の空白行を削除)

import pandas as pd

df = pd.read_excel('input.xlsx')

df = df.dropna(subset = ['研修状況'])

df.to_excel('output.xlsx', index = None)

解説(任意列の空白削除)

「dropna」(任意列の空白行を削除)

>>5.df = dropna(subset = [‘研修状況’])

任意列の空白行を削除する場合は、()内に「subset = []」を記述します。

さらに[]内には、対象の列名を記述することで、その列にある空白行のみを削除することができます。

【 データフレーム変数 = データフレーム変数.dropna(subset = [‘列名’]) 】

★補足★
カンマで区切ることで、複数の列を指定することも可能です。
dropna(subset = [‘研修状況’, ‘配属先‘])
※この場合、「研修状況」と「配属先」2つの列の空白行を削除することができます。

スポンサードリンク

うまく動作しない時

エラーが出る

No such file or directory : ○○

これは、読み込むファイルやフォルダが見つからないというエラーです。
読み込むファイルのファイル名と構文のファイル名が一致しているか確認しましょう。

○○ is not defined

今まで出てきていない変数や列名などを処理しようとした時に出るエラーです。
変数名が間違っていないかチェックしたり、ファイル内の列名と構文が一致しているかを確認しましょう。

その他のエラー

その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。

空白行が削除されない

「df.dropna()」だけでは出力ファイルに反映されません。

df = df.dropna()
など、別の変数や元の変数に再代入し、その変数を出力しましょう。

スポンサードリンク

まとめ

PythonのDataFrameで空白行を削除する方法をご紹介いたしました。

「空白行削除」=「dropna()」と覚えてください。

最後までお読みいただき、ありがとうございました。がんばってください!

タイトルとURLをコピーしました