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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

471閲覧

python 欠損値の削除

o-fk

総合スコア32

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/07/25 04:17

編集2020/07/25 04:35

リスト(ヘッダー?)がついていないデータの場合(以下の例外)、
例えば3列目に含まれる欠損値だけを削除する場合
subsetの部分は何と書けばいいでしょうか?

==例==
subset=[カラム名のリスト]欠損値を削除したい列を指定
In [22]: df
Out[22]:
A B
0 1.0 NaN
1 NaN NaN
2 2.0 3.0
3 NaN 4.0
4 2.0 5.0
5 NaN 6.0

In [23]: df.dropna(subset=['A']) # A列に含まれる欠損値だけを削除する
Out[23]:
A B
0 1.0 NaN
2 2.0 3.0
4 2.0 5.0

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

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

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

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

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

meg_

2020/07/25 04:26

A,Bはインデックスではありませんか?
o-fk

2020/07/25 04:34

これは、やりたいことの例で。。 私のデータにはインデックスが無いんです…
guest

回答2

0

subset=[2]のように数値(列位置)で指定ができます。

Python

1import pandas as pd 2import numpy as np 3 4df = pd.DataFrame([[1,1,1],[np.nan,np.nan,2],[3,3,np.nan]]) 5print(df) 6# 0 1 2 7#0 1.0 1.0 1.0 8#1 NaN NaN 2.0 9#2 3.0 3.0 NaN 10 11df = df.dropna(subset=[2]) 12print(df) 13# 0 1 2 14#0 1.0 1.0 1.0 15#1 NaN NaN 2.0

投稿2020/07/25 04:39

can110

総合スコア38341

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

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

o-fk

2020/07/25 05:31

import numpy as np import pandas as pd df = pd.read_csv('C:/Users/AK/Documents/wind201908/test.csv') df = df.dropna(how='all').dropna(how='all', axis=1 ) df.dropna(how='any', inplace=True) df = df.dropna(subset=[3]) df.to_csv('C:/Users/AK/Documents/wind201908/R2test.csv',header=False, index=False) で実行したのですが、KeyError: [3] と出てしまいます…
can110

2020/07/25 05:54

test.csvの列が足りないのでは?
guest

0

ベストアンサー

can110さんの回答で済んでいる気がしますがなぜ、can110さんの回答どおりをせずに別のことをされているのでしょうか。

列名がなくて苦労されているのであれば列名を付与すればいいのではないでしょうか。

Python

1df.columns = ['A', 'B', 'C']

投稿2020/07/25 05:56

aokikenichi

総合スコア2240

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

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

o-fk

2020/07/25 06:14

前回のは実行できたものの不都合が生じたのでコードを変更しました。 列名与えてみます。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問