Как я могу изменить свой код, когда в pandas-python возникает ошибка 1-мерного размера?

#python #pandas

#питон #панды

Вопрос:

Сейчас я пытаюсь объединить файлы xls и рассчитать их среднее значение и общее количество. Я использовал панд для создания фреймов данных, и большинство из них хорошо работали, делая это.

Это мой код.

 import pandas as pd import os import sys import glob  inputpath = sys.argv[1] outputfile = sys.argv[2]  all_workbooks = glob.glob(os.path.join(inputpath, 'random*.xls*')) dataframe = [] for workbook in all_workbooks:  all_worksheets = pd.read_excel(workbook, sheet_name=None, index_col=None)  workbook_total_id = []  workbook_number_id = []  worksheet_data_frames = []  workbook_stats_frame = []  worksheets_data_frame = None  workbook_data_frame = None    for worksheet_name, data in all_worksheets.items():  total_id = pd.DataFrame([float(str(ID)) for ID in data.loc[:, 'ID']]).sum()  number_id = len(data.loc[:, 'ID'])  average_id = pd.DataFrame(total_id / number_id)    workbook_total_id.append(total_id)  workbook_number_id.append(number_id)    data = {'Workbook': os.path.basename(workbook),  'Worksheet': worksheet_name,  'Worksheet_total': total_id,  'worksheet_average': average_id}    worksheet_data_frames.append(pd.DataFrame(data, columns=['Workbook', 'Worksheet', 'Worksheet_total', 'Worksheet_average']))  worksheets_data_frame = pd.concat(worksheet_data_frames, axis=0, ignore_index=True)    workbook_total = pd.DataFrame(workbook_total_id).sum()  workbook_total_id = pd.DataFrame(workbook_number_id).sum()  workbook_average = pd.DataFrame(workbook_total/workbook_total_id)    workbook_stats = {'Workbook':os.path.basename(workbook),  'Workbook_total':workbook_total,  'Workbook_average':workbook_average}    workbook_stats_frame.append(pd.DataFrame(workbook_stats, columns=['Workbook', 'Workbook_total', 'Workbook_average']))  workbook_data_frame = pd.merge(worksheets_data_frame, workbook_stats_frame, on='Workbook', how='left')  dataframe.append(workbook_data_frame)   alldataconcatenated = pd.concat(dataframe, axis=0, ignore_index=True)  writer = pd.ExcelWriter(outputfile) alldataconcatenated.to_excel(writer, sheet_name='sumsandaverage', index=False) writer.save()  

и в этом заключается ошибка.

 C:UsershaeDesktopgt;python ttt.py "C:Usershaedesktop" all.xls Traceback (most recent call last):  File "C:UsershaeDesktopttt.py", line 50, in lt;modulegt;  workbook_stats_frame.append(pd.DataFrame(workbook_stats, columns=['Workbook', 'Workbook_total', 'Workbook_average']))   ValueError: Data must be 1-dimensional  

pd.DataFrame хорошо работает в верхней строке (которая имеет тот же код, что и строка, вызывающая ошибку), поэтому я понятия не имею, что не так со строкой ошибки.