У меня есть класс с полем, созданным с пустым фреймом данных, например:
import pandas as pd
class Report:
report = pd.DataFrame()
внутри этого класса у меня есть две функции, первая из которых выглядит так:
def create_df(self):
column_names = ["log_file_name", "Searched_Age",
"Searched_Nationality",
"Searched_Service_Type",
"all_p0", "all_p1", "all_p2", "all_p3",
"p0", "p1", "p2", "p3",
"no_prop_violated"]
# add empty dataframe to class field.
Report.report = pd.DataFrame(columns=column_names)
Вторая функция :
def add_row(self, log_file_name, Searched_Age,
Searched_Nationality,
Searched_Service_Type,
all_p0, all_p1, all_p2,
all_p3, p0, p1, p2, p3, no_prop_violated):
dict_para = {'log_file_name': log_file_name,
'Searched_Age': Searched_Age,
'Searched_Nationality': Searched_Nationality,
'Searched_Service_Type': Searched_Service_Type,
'all_p0': all_p0,
'all_p1': all_p1,
'all_p2': all_p2,
'all_p3': all_p3,
'p0': p0,
'p1': p1,
'p2': p2,
'p3': p3,
'no_prop_violated': no_prop_violated}
Report.report = Report.report.append(dict_para, ignore_index=True)
print(Report.report)
Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я вызываю add_row () из другого класса, строка перезаписывается. Код, о котором я говорю:
Report.report = Report.report.append(dict_para, ignore_index=True)