1. 程式人生 > >pandas讀取csv檔案進行處理時報錯: TypeError: invalid type compariso

pandas讀取csv檔案進行處理時報錯: TypeError: invalid type compariso

用pandas讀取csv檔案並對csv裡面的資料進行處理的時候,有可能會遇到這樣的錯誤:

TypeError: invalid type comparison
  • 1

無效的型別比較

這時可以去列印一下你的dataframe中的資料看看


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

所以在後面的資料處理中如果進行了比較操作則會報錯:

TypeError: invalid type comparison
  • 1

辦法,在讀取csv的時候加上引數

keep_default_na=False
  • 1

這樣沒有資料的條目就會被識別為空字元’ ‘而不是nan了


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

這時候可以加一個引數

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

converters的解釋為:

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

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