[解決済み] ある変数がpd.NaTであるかどうかをテストするには?
2023-01-29 01:15:10
質問
私の変数の1つがpd.NaTであるかどうかをテストしようとしています。私はそれがNaTであることを知っていて、それでもそれはテストに合格しません。例として、次のコードは何も表示されません。
a=pd.NaT
if a == pd.NaT:
print("a not NaT")
どなたか手がかりをお持ちではないでしょうか?を効果的にテストする方法はありますか?
a
がNaTであるかどうかを効果的にテストする方法はありますか?
どのように解決するのですか?
パンダ
NaT
は浮動小数点演算のように振る舞う
NaN
と等しくないという点で、浮動小数点数のように振る舞います。その代わりに
pandas.isnull
:
In [21]: pandas.isnull(pandas.NaT)
Out[21]: True
これはまた
True
を返します。
技術的には、Pandasをチェックすることもできます。
NaT
で
x != x
で、浮動小数点のNaNに使われる一般的なパターンに従っています。しかし、これはNumPyのNaTで問題を起こす可能性があります。NaTは非常に似ていて、同じ概念を表していますが、実際には異なる動作をする異なる型です。
In [29]: x = pandas.NaT
In [30]: y = numpy.datetime64('NaT')
In [31]: x != x
Out[31]: True
In [32]: y != y
/home/i850228/.local/lib/python3.6/site-packages/IPython/__main__.py:1: FutureWarning: In the future, NAT != NAT will be True rather than False.
# encoding: utf-8
Out[32]: False
numpy.isnat
は、NumPyをチェックするための関数
NaT
で失敗し、さらに Pandas の
NaT
:
In [33]: numpy.isnat(pandas.NaT)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-33-39a66bbf6513> in <module>()
----> 1 numpy.isnat(pandas.NaT)
TypeError: ufunc 'isnat' is only defined for datetime and timedelta.
pandas.isnull
はPandasとNumPyのNaTの両方で動作するので、おそらくこの方法でしょう。
In [34]: pandas.isnull(pandas.NaT)
Out[34]: True
In [35]: pandas.isnull(numpy.datetime64('NaT'))
Out[35]: True
関連
-
[解決済み】Pythonのvirtualenvを離脱/終了/無効化する方法
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] 環境変数の値にアクセスする方法
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] 複数行の長い文字列を作成するためのPythonicな方法
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] Spyderを仮想環境で動作させるには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Numpy 値がNaTかどうかのチェック
-
[解決済み] Python 2.7サポート終了?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] PythonからSMTPを使用してメールを送信する
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複