Python はデータ準備のための強力な言語ですが、いくつかの言語があります。 人々が遭遇する可能性のあるよくある間違いや落とし穴。 このブログ投稿では、 を使用するときに遭遇する最も一般的な 5 つの問題について説明します。 データ準備のための Python。
False、None、および 0 (任意の数値型) はすべて False と評価されます。
このオブジェクトと値のセットは「偽」として知られており、 false と評価されます。 NaN または欠損値は偽ではないため、 false には評価されません。これにより、多くの操作で大きな混乱や予期せぬ動作が発生する可能性があります。
NaN == NaN が true を返すのは非常に簡単なようです。両方の値は同じように見えます。
ただし、2 つの欠損値が同じかどうかを知ることは不可能であるため、この操作は常に false を返します。
all() メソッドは、反復可能オブジェクトのすべての要素が true の場合 (または、反復可能は空です)。
「 iterable は true です」ではなく、「false がない場合は true を返す」
反復可能が空の場合、その中に false 要素は存在できません。つまり、all([]) は True と評価されます。
Pandas は、次の場合にエラーを発生させる numpy 規則に従います。 何かを bool に変換してみます。これは if または when を使用した場合に発生します。 ブール演算、and、or、または not。
結果がどうなるかは明らかではありません。それは本当でしょうか 長さがゼロではないからですか? False 値があるため False?
不明確なので、代わりに Pandas は ValueError を発生させます
ValueError: シリーズの真理値があいまいです。
a.empty、a.bool()、a.item()、a.any()、または a.all() を使用します。
isin() 操作は、次のようなブール系列を返します。 シリーズ内の各要素が渡されたデータに正確に含まれているかどうか 値のシーケンス。
s = pd.Series(['dog', 'cat', 'fish']) >>> s.isin(['bird']) 0 False 1 False 2 False dtype: bool
この系列には 'bird' が存在しないことに注意してください。
>>> s.isin(['bird', 'cat']) 0 False 1 True 2 False dtype: bool
系列の 2 番目の値には 'cat' が存在することに注意してください。
Python は強力な言語ですが、混乱が生じる可能性があります周りに起こる 欠損値とブール値。 欠損値があることに注意してください。 は偽とみなされ、比較できません。
all() メソッドを使用する場合は、返されることに注意してください。 反復可能オブジェクトに false 値がない場合は true。 すべての値が次の場合 欠損値は空の配列の場合と同様に、欠損値は false とみなされないため、all() も true を返します。
bool 値に変換しようとしたときに ValueError を受け取った場合は、必ず役立つアドバイスに従い、提案された方法のいずれかを使用してください。
以上がデータ準備における Python の 5 つの一般的な落とし穴の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。