解決問題:pandas讀取csv文件時報錯:TypeError: invalid type comparison


在Python中用pandas讀取csv文件並對csv里面的數據進行處理的時候,有可能會遇到這樣的錯誤:

TypeError: invalid type comparison

 

  • 無效的類型比較

這時可以去打印一下你的dataframe中的數據看看

1、可能有些條目中沒有數據,打印時它會顯示成nan,而nan是沒有辦法和任何數據進行比較的,它不和任何值相等,包括他自己(因此也可以用 a != a 來判斷a是否是nan)。

所以在后面的數據處理中如果進行了比較操作則會報錯:

TypeError: invalid type comparison
解決辦法,在讀取csv的時候加上參數

keep_default_na=False
這樣沒有數據的條目就會被識別為空字符’ ‘而不是nan了

2、可能你的dataframe中不同列的數據類型不一樣,不如有的被識別為str,有的被識別為int,雖然它們看起來都是數字,但在后面進行比較的話也同樣會報錯

這時候可以加一個參數

converters={'from':str,'to':str} # 把from列和to列都轉換為str類型

converters的解釋為:

converters : dict, default None
Dict of functions for converting values in certain columns. Keys can either
be integers or column labels

類型相同后就可以一起比較啦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM