我有两个pandas对象(每个都是从数据帧中取出的一行):
tg:
cnpj 7350260000136
city_id 3
federation_unit_id 8
primary_activity_id 2
primary_activity_identifier 61.90-6-01
city_id 3
federation_unit_id 8
CNAE 61.90-6-01
Name: tg, dtype: object
pred:
cnpj 2178302000180
city_id 3
federation_unit_id 8
CNAE 61.90-6-99
Name: pred, dtype: object
我试图运行以下句子:
x = 5
y = 1
if target.federation_unit_id == pred.federation_unit_id: x += y
此处的结果应为6,但我收到以下错误:
Traceback (most recent call last):
File "/file.py", line 735, in <module>
target=index(pdsim,target,tgcsv='target_1.csv',predcsv='predictor_1.csv',pred_fine=pred_fine)
File "file.py", line 610, in similarity_index if target.federation_unit_id == pred.federation_unit_id: x += y
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pandas/core/generic.py", line 892, in __nonzero__
.format(self.__class__.__name__))
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
有谁知道我该怎么办?
答案 0 :(得分:1)
我认为你有几个问题。
这可能是一个错字,但你的第一个系列'tg'不是'目标'不确定这是否是其他系列或数据框
即使这是一个拼写错误,您的第一个系列也有两个名为'federation_unit_id'的元素,因此tg.federation_unit_id会给出两个无法与单个值进行比较的值。
如果这些不是问题,您的代码应该有效。