質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.40%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

15018閲覧

python pandasを使用して空白箇所を抽出する

py-

総合スコア12

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/02/28 01:21

前提・実現したいこと

pandasを使用して、csvファイルをデータフレームで読み込み、特定列の空白値を抽出を実施したい

発生している問題・エラーメッセージ

下記添付の、カラムCR1列2行の部分が空白になっています。
この空白箇所を抽出する方法を検討しております。

CRN  CR1     住所       住所1 住所2
1  (医)BBB   大分県大分市大字宮崎 1503  -38

2       名古屋市千種区   名古屋ビル   8F

3  (医)aaa   東京都新宿区     西新宿  35

4 (医) bbb 大阪府        大阪市

エラーメッセージ

### 該当のソースコード #CSVファイル読み込み(検証1) path_ip = path.WindowsPath(r"c:\Users\Desktop\ファイル比較検証\クライアント1.csv") t1 = pd.read_csv(path_ip, engine="python") t1 = t1.fillna('').astype(str) ソースコード

t1[t1['CR1'].str.contains(' ')]

試したこと

上記コードを実施すると、CR1列4行も抽出してしまいます。
現在、その他の方法があるのか検証中です

補足情報(FW/ツールのバージョンなど)

python 3.6.3
ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/02/28 01:26

fillnaを使ってますが、nanのまま扱うのは問題があるんでしょうか。
py-

2018/02/28 01:32

dakatooo77さんご連絡ありがとうございます。 その他のカラムでも同様なこと発生しておりデータの内容を見やすくするために実施をしました。nanでも問題はありません。
退会済みユーザー

退会済みユーザー

2018/02/28 01:34

読み込んだ状態でt1[t1['CR1'].isna()]かな
py-

2018/02/28 01:57

dkato 0077さんありがとうございます。 無事できました。これで先にすすめます。元データの抜けが多くそのつど確認を行っていた状態でした。ありがとうございました。
guest

回答1

0

ベストアンサー

空白値がどのような値を指しているかによりますが、以下のような感じで抽出できます。

Python

1import pandas as pd 2import numpy as np 3df = pd.DataFrame({'col1':[np.nan,'',' ',' a','b ']}) 4print(df) 5 6# NaN, 空文字列, 空白のみの文字列 7# na=Trueで NaNも含む 8df = df[df['col1'].str.contains('^\s*$',na=True)] 9print(df) 10 11# 空文字列, 空白のみの文字列 12df = df[df['col1'].str.contains('^\s*$',na=False)] 13print(df) 14 15# 空白のみの文字列 16# \s+で空文字列は除外。 17df = df[df['col1'].str.contains('^\s+$',na=False)] 18print(df)

投稿2018/02/28 01:52

can110

総合スコア38337

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.40%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問