#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().
Я не знаю, нужно ли мне что-то менять, связанное с индексом, потому что я хотел бы провести исследование для каждого элемента «источника».Спасибо за каждый ответ.
Комментарии:
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.