Я ОЧЕНЬ новичок в мире python / pandas / matplotlib, но недавно я использовал его для создания коробок и усов.Мне было любопытно, как создать прямоугольник с усами для каждого листа, используя определенный столбец данных, т.е. у меня есть 17 листов, и у меня есть столбцы с именами HMB и DV на каждом листе.Я хочу нанести 17 наборов данных на Box и Whisker для HMB и еще 17 наборов данных на DV-график.Ниже приведено то, что у меня есть.
Я могу открыть файл и получить все листы в list_dfs, но потом не знаю, куда идти.Я собирался попробовать нарезать каждый набор вручную (как я начал ниже, прежде чем прийти сюда за помощью), но когда у меня будет больше данных в будущем, я не хочу делать это вручную.Любая помощь будет принята с благодарностью!
import pandas as pd
import numpy as np
import xlrd
import matplotlib.pyplot as plt
%matplotlib inline
from pandas import ExcelWriter
from pandas import ExcelFile
from pandas import DataFrame
excel_file = 'Project File Merger.xlsm'
list_dfs = []
xls = xlrd.open_workbook(excel_file,on_demand=True)
for sheet_name in xls.sheet_names():
df = pd.read_excel(excel_file,sheet_name)
list_dfs.append(df)
d_psppm = {}
for i, sheet_name in enumerate(xls.sheet_names()):
df = pd.read_excel(excel_file,sheet_name)
d_psppm["PSPPM" + str(i)] = df.loc[:,['PSPPM']]
values_list = list(d_psppm.values())
print(values_list[:])
Пример вывода выглядит, как показано ниже, для 17 записей списка, но с разным количеством строк для каждой.
PSPPM
0 0.246769
1 0.599589
2 0.082420
3 0.250000
4 0.205140
5 0.850000,
PSPPM
0 0.500887
1 0.475255
2 0.472711
3 0.412953
4 0.415883
5 0.703716,...
Следующее, что я хочу сделать, это создать участок с коробкой и усом, 1 участок с 17 коробками и усами.Я не уверен, как получить словарь для построения графиков со значениями и индексами в качестве имени.Я попытался выкопать и выяснить, как преобразовать словарь в список, а затем построить каждый элемент в списке, но безуспешно.
Спасибо за помощь!