在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
類型相同后就可以一起比較啦