当我尝试使用字符串筛选数据帧时,会出现以下错误
TypeError: Could not compare <type 'str'> type with Series
这是我的准则
data = pd.read_csv('data.csv')
fildata = data[(data['cat1'] == 'FALSE') & (data['cat2'] != '') & (data['cat3'] == 'FALSE')]
编辑1:
以下是数据的外观
^{pr2}$编辑2:
但这为什么有用呢?在
data1 = pd.DataFrame({'cat1':[1,2,3,4],'cat2':[2,3,1,4],'cat3':[3,1,2,4]})
fildata = data1[(data1['cat1'] == 1) & (data1['cat2'] != 0) & (data1['cat3']== 3)]
这导致:
cat1 cat2 cat3
0 1 2 3
编辑3:
我想问题出在类型上cat1'和'cat2'属于'bool'
类型
以下几点对我有用:
问题是字符串
^{2}$FALSE
/TRUE
是由read_csv
解释的布尔数据类型:所以您的比较应该针对这个类型,而不是字符串
'FALSE'
相关问题 更多 >
编程相关推荐