空白のセルを含むデータベースクエリから取得したpandasデータフレームの列があります。空白のセルは「なし」になり、各行がなしかどうかを確認します。
_In [325]: yes_records_sample['name']
Out[325]:
41055 John J Murphy Professional Building
25260 None
41757 Armand Bayou Nature Center
31397 None
33104 Hubert Humphrey Building
16891 Williams Hall
29618 None
3770 Covenant House
39618 None
1342 Bhathal Student Services Building
20506 None
_
ドキュメントごとの私の理解は、isnull()
コマンドで各行がnullであるかどうかを確認できるということです http://pandas.pydata.org/pandas-docs/dev/missing_data.html#values-考慮されない
しかし、その機能は私にとっては機能していません:
_In [332]: isnull(yes_records_sample['name'])
_
次のエラーが表示されます。
_NameError Traceback (most recent call last)
<ipython-input-332-55873906e7e6> in <module>()
----> 1 isnull(yes_records_sample['name'])
NameError: name 'isnull' is not defined
_
また、誰かが「なし」文字列を置き換えただけでしたが、そのアプローチのこれらのバリエーションはどちらもうまくいきませんでした: パンダの「なし」値の名前を変更
_yes_records_sample['name'].replace('None', "--no value--")
yes_records_sample['name'].replace(None, "--no value--")
_
最終的にfillna
関数を使用し、回避策として空の文字列yes_records_sample.fillna('')
でそれらの各行を埋めることができました。その後、_yes_records_sample['name']==''
_をチェックできましたが、 「なし」の仕組みとその意味。データフレーム内のセルが「なし」であるかどうかを簡単に確認する方法はありますか?
次のように呼び出します。
yes_records_sample['name'].isnull()
私はこれを正確に行うビルトインを見つけることができなかったので、手動で行います。シリーズの場合、コードは次のとおりです。
import numpy as np
series = yes_records_sample['name']
n = np.empty_like(series)
n[...] = None
nones = series.values == n
DataFramesの場合、コードは非常に似ています:
import numpy as np
df = yes_records_sample
n = np.empty_like(df)
n[...] = None
nones = df == n
.isnull()の私の問題は、NaNとNoneを区別しないことです。これは、アプリケーションの問題である場合とそうでない場合があります。