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"]
要筛选的列的值类型转换:字符串类型转换为Bool值:
tst_df[tst_df['Head2'] == False]
如果想改变该列的数据类型,可使用astype(type)
: type可取值 int/float/str
…
也可同时改变所有列,为同一种数据类型:
总结:
在筛选某列指定值时,需要先明确该列值的类型,如果类型与默认不符,则会报错invalid type comparison
。可通过修改筛选时的值类型,或者在定义dataframe时,修改指定列的数据类型。
一般pandas读取csv文件,会自动识别数据。
serise.astype()
[转换某一列] 或 datafreame.astype()
[转换所有列] 。