KATUBLO | エンジニアの日常BLOG
2019年03月17日

【Python】dataframeの行を指定条件で削除する

こんにちはKATUOです。

ここ数日、neuralnetでとあるモデルのデータの前処理を行っていました。その際、結構データ処理でつまずきました。今回の記事ではそのつまずいた箇所の中から1つ、解決策を紹介していきたいと思います。

 

dataframeで指定の値を含む行を削除する方法

自分が扱ったデータの中に、時折欠損値を表す、string型の文字が入った値が複数の行の中に混じっていました。詳しい状況としては、’car_weight’のcolumnに’計不’というstring型の欠損値を表すデータが入っていて、通常の値はint型。この問題を解決するために、’計不’の文字を任意の値(ここでは1)に置き換えるよう以下のコードを書いて対処した。

 

 

Can only use .str accessor with string values, which use np.object_ dtype in pandas

がしかし、先ほどのコードを打ち込むと↑のエラーが返ってきた。どうやら欠損値以外のデータがint型のため、str関数が使えないらしい。ここでstackoverflowで解決方法が記載されていたため、以下のようにしてコードを書き換えた。

 

 

car_weightのcolumnの値を一度全てstring型に変換するように「astype(str)関数」を挟むことでうまくいきました。

 

参考サイト

最後まで読んで頂き、ありがとうございました。
SNS等でのシェアが頂ければ幸いです!

プロフィール

@KATUO

現在都内私立大学に通う大学4年生。大学では電気電子工学を専攻。大学2年の夏頃に、プログラマーの長期インターン募集の広告が目に止まり、独学でプログラミングの学習を開始。現在は「ToC向け大規模サービスを運営するメガベンチャー」と「AIスタートアップ」でインターンで修行中。2020年4月からwebエンジニアとして社会人生活スタート。

Twitterアカウント

広告

スポンサー