python dataframe 报错 invalid type comparison

python 报错 invalid type comparison 解决办法

报错信息:

TypeError: invalid type comparison

代码如下:

import pandas as pd
tst_data = 'tst_data.txt'
tst_df = pd.read_csv(tst_data, sep='\t')
tst_df
tst_df[tst_df['Head2'] == "False"]

具体报错:

python dataframe 报错 invalid type comparison

要筛选的列的值类型转换:字符串类型转换为 Bool值:

tst_df[tst_df['Head2'] == False]

python dataframe 报错 invalid type comparison

可通过 df.dtypes 查看各列默认值的类型:

python dataframe 报错 invalid type comparison

如果想改变该列的数据类型,可使用 astype(type): type可取值 int/float/str

python dataframe 报错 invalid type comparison
也可同时改变所有列,为同一种数据类型:
python dataframe 报错 invalid type comparison

总结:
在筛选某列指定值时,需要先明确该列值的类型,如果类型与默认不符,则会报错 invalid type comparison。可通过修改筛选时的值类型,或者在定义dataframe时,修改指定列的数据类型。

一般pandas读取csv文件,会自动识别数据。

  • 如果某列的数据都是相同类型(如示例,都是布尔值),则会默认为某种类型;
  • 如果某列既有布尔值,也有其他字符串类型的,则会把该列定义为Object类型;
  • 如果想将布尔值类型进行转换,可使用 serise.astype() [转换某一列] 或 datafreame.astype() [转换所有列] 。

Original: https://blog.csdn.net/sinat_32872729/article/details/116996583
Author: 青灯照颦微
Title: python dataframe 报错 invalid type comparison

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/675721/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球