[解決済み] Python / numpy / pandasで任意のオブジェクトがNaNかどうかを効率的にチェックする?
2022-07-31 15:04:59
質問
私のnumpyの配列は
np.nan
を使用して欠損値を指定します。私はデータセット上で反復するとき、私はそのような欠損値を検出し、特別な方法でそれらを処理する必要があります。
直感的に私は
numpy.isnan(val)
を使っていましたが、これは
val
がサポートする型のサブセットに含まれていない限り、うまく動作します。
numpy.isnan()
. 例えば、文字列フィールドではデータが欠落することがあり、その場合、次のようになります。
>>> np.isnan('some_string')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Not implemented for this type
例外を捕捉して
False
を返す高価なラッパーを書く以外に、これをエレガントかつ効率的に処理する方法はないのでしょうか?
どのように解決するのですか?
pandas.isnull()
(また
pd.isna()
は、数値配列と文字列/オブジェクト配列の両方において、 値の欠落をチェックします。ドキュメントによると、これは以下のことをチェックします。
数値配列のNaN、オブジェクト配列のNone/NaN
簡単な例です。
import pandas as pd
import numpy as np
s = pd.Series(['apple', np.nan, 'banana'])
pd.isnull(s)
Out[9]:
0 False
1 True
2 False
dtype: bool
を使うという発想は
numpy.nan
を使って欠損値を表現するというのは
pandas
が導入された理由です。
pandas
はそれに対処するためのツールを持っています。
データタイムも (もしあなたが
pd.NaT
を使えば、dtype を指定する必要はありません)。
In [24]: s = Series([Timestamp('20130101'),np.nan,Timestamp('20130102 9:30')],dtype='M8[ns]')
In [25]: s
Out[25]:
0 2013-01-01 00:00:00
1 NaT
2 2013-01-02 09:30:00
dtype: datetime64[ns]``
In [26]: pd.isnull(s)
Out[26]:
0 False
1 True
2 False
dtype: bool
関連
-
[解決済み] Pythonで、あるオブジェクトが反復可能かどうかを判断するにはどうしたらいいですか?
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] Pythonのクラスはなぜオブジェクトを継承するのですか?
-
[解決済み] Pythonでnullオブジェクトを参照する
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] Pandas DataFrameの特定の列の値がNaNである行を削除する方法
-
[解決済み] Pandas DataFrameの値がNaNであるかどうかを確認する方法
-
[解決済み】Pandas DataframeのカラムでNaN値をゼロに置き換えるには?
-
[解決済み] Pythonです。未束縛のメソッドを束縛する?
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PythonでのAWS Lambdaのインポートモジュールエラー
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Pythonの辞書にあるスレッドセーフについて