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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章