前提・実現したいこと
Pandasにおいて、指定した複数の列が欠損していないデータを抽出したいです。
csvファイルのデータを読み込み、指定した複数の列が欠損していないデータの抽出を試みたのですがうまくいきませんでした。
ソースコードにて表記しているcsvファイル内の列 'name'と'team'においてNaNとないっていないもの(この場合だと、idが1と3の)を取り出すにはどのようにしたらよいですか?
指定した一つの列が欠損していないデータの抽出は成功しました。
発生している問題・エラーメッセージ
line 4,in <module> data1 = data.loc[data['name','team'].notna()] KeyError: ('name', 'team') と出力されました。
該当のソースコード
Python
1import pandas as pd 2 3data = pd.read_csv('./data/sample2.csv',encoding='shift-jis',header=0) 4data1 = data.loc[data['name','team'].notna()] 5# data2 = data.loc[data['name'].notna()] 6# 指定した一つの列が欠損していないデータの抽出は、上記のdata2を用いてprint(data2)で成功しました。 7print(data1) 8 9#sample2.csv 10id,team,name,birth_year 111,A,sato,2000 122,B,,2001 133,C,tanaka,2002 144,,kimura,2003 15 16#sample2.csvでは、「id = 2は'name'」「id = 4は'team'」の値が欠損しています。 17#ですので、何も欠損していないid = 1,3のデータを抽出したいです。 18 19
試したこと
指定した一つの列が欠損していないデータの抽出にまねて、その要領で表示しました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/01 07:30
2021/11/01 07:38
2021/11/02 04:04