資料準備中 5 個常見的 Python 陷阱

Joseph Gordon-Levitt
發布: 2024-10-29 10:06:36
轉載
505 人瀏覽過

Python 是一種強大的資料準備語言,但也有一些不足 人們可能會遇到的常見錯誤或陷阱。 在這篇文章中,我將 討論人們在使用時遇到的五個最常見問題 Python 用於資料準備。

資料準備中 5 個常見的 Python 陷阱

1.將缺失值 (`NaN`) 視為 false。

False、None 和 0(任何數字類型)都計算為 False。

這組物件和值稱為“假”,並且會 評估為假。 NaN 或缺失值不是假值,因此 不會評估為 false。這可能會導致許多操作出現混亂和意外行為。

2.嘗試比較缺失值

NaN == NaN 將返回true很簡單。兩個值「看起來」相同。

但是,由於不可能知道兩個缺失值是否相同,因此此操作將始終傳回 false。

3.認為 all() 只有在所有元素都為 true 時才傳回 true。

如果可迭代的所有元素都為 true(或如果可迭代物件為空)。 

不要視為「如果 iterable 都是 true,」而是「如果沒有 false,則傳回 true 可迭代物件中的元素。 ”

當可迭代物件為空時,其中不能有false 元素,這意味著all([]) 的計算結果為True。

4。 嘗試將某些內容轉換為布林值。這發生在 if 或使用時 布林運算,and,or,or not。

尚不清楚結果應該是什麼。應該是真的嗎 因為它不是零長度? False,因為存在 False 值?

尚不清楚,所以Pandas 會引發ValueError

ValueError:系列的值不明確。 

使用 a.empty、a.bool() a.item()、a.any() 或 a.all()。

5。了解 isin() 運算的結果。

isin() 運算傳回一個布林系列,顯示 Series 中的每個元素是否完全包含在傳遞的 值序列。

 s = pd.Series(['dog', 'cat', 'fish'])
>>> s.isin(['bird'])
0    False
1    False
2    False
dtype: bool
登入後複製

請注意,該系列中不存在「鳥」。

>>> s.isin(['bird', 'cat'])
0    False
1     True
2    False
dtype: bool
登入後複製

注意「貓」確實存在於該系列的第二個值中。

了解更多關於使用Python 進行資料準備的資訊

Phon🎜>門強大的語言,但可能會造成混亂出現在周圍 缺失值和布林值。 請記住,缺失值是 被認為是錯誤的,無法進行比較。 

使用 all() 方法時,請記住它會返回 當迭代中沒有 false 值時為 true。  如果所有值都是 缺失,就像空數組的情況一樣,all() 也會傳回 true,因為缺失值不被視為 false。 

如果您在嘗試轉換為 bool 值時收到 ValueError,請務必採納有用的建議並使用建議的方法之一。

以上是資料準備中 5 個常見的 Python 陷阱的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:pluralsight.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!