Ошибка: Значение истинности ряда неоднозначно. Используйте.empty, a.bool(), a.item(), a.any() или a.all(). Во время смены столов

#python #pandas #database #csv #dataset

#python #pandas #database #csv #dataset

Вопрос:

Я пытаюсь изменить некоторые значения различных столбцов набора данных, а в конце обновить данные и сохранить их в новом файле name.csv. Но в цикле for у меня есть ошибка. Это и есть код:

 import csvimport pandas as pdimport numpy as npdata = pd.read_csv("data1.csv", delimiter=';', index_col="issue_id")data2 = pd.read_csv("data2.csv", delimiter=';', index_col="source_issue_id")#first = data.loc["AXIS2-1007"]#print(first) #print(data)#data.to_csv('name.csv')source = data['source_issue_id']#target= data2['target_issue_id']#FUNZIONIdef update_data(i,issue): #print(issue.loc[i]) data.loc[i] = issue.loc[i] data.update(data) #print(data) #print("reference")for i in source: issue2 = data2.loc[i] #prendo in data2 le righe con source_issue_id = i #print(issue2) issue = data.loc[i] #prendo in data le righe con issue_id = ad i #print(issue) new_target = issue2.get('target_issue_id') #prendo il valore di target associato a source target_found = issue2.get('name') #prendo il valore di name associato a source print(target_found) if target_found == "Reference": issue.loc[:, 'Reference'] = new_target update_data(i,issue) if target_found == "Cloners": issue.loc[:, 'Cloners'] = new_target update_data(i,issue) if target_found == "Duplicate": issue.loc[:, 'Duplicate'] = new_target update_data(i,issue) if target_found == "Blocker": issue.loc[:, 'Blocker'] = new_target update_data(i,issue)  if target_found == "Part-of": issue.loc[:, 'Part-of'] = new_target update_data(i,issue) if target_found == "Incorporates": issue.loc[:, 'Incorporates'] = new_target update_data(i,issue) if target_found == "dependent": issue.loc[:, 'dependent'] = new_target update_data(i,issue)data.to_csv('name.csv') 

Это ошибка, которую я получаю:

 ValueError Traceback (most recent call last)lt;ipython-input-27-a8a6f7f20ad8gt; in lt;modulegt; 32 target_found = issue2.get('name') #prendo il valore di name associato a source 33 ---gt; 34 if (target_found == "Reference"): 35 issue.loc[:, 'Reference'] = new_target 36 update_data(i,issue)~Anaconda3libsite-packagespandascoregeneric.py in __nonzero__(self) 1476 raise ValueError("The truth value of a {0} is ambiguous. " 1477 "Use a.empty, a.bool(), a.item(), a.any() or a.all()."-gt; 1478 .format(self.__class__.__name__)) 1479  1480 __bool__ = __nonzero__ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). 

Я не знаю, нужно ли мне что-то менять, связанное с индексом, потому что я хотел бы провести исследование для каждого элемента «источника».Спасибо за каждый ответ.

Это результат target_found с командой: печать(target_found) введите описание изображения здесь

Комментарии:

1.Could you provide the output of target_found? what does this give you if you print out the value?

2.Thanks for the answer, I’ve added it.