@Feor_slen

Как добавить данные в Series через ссылку на объект?

У меня есть набор объектов Series. В ходе цикла я планирую доставать значения из ячеек Exel и записывать в нужные объекты. чтобы не формировать количество циклов равное количеству объектов Series я посчитал что удачным будет создать ещё один список, уже из этих объектов и в ходе итерации обращаясь по индексам этого списка к объектам записывать данные. О-оптимизация

Конечная цель: объект DataFrame из Series

Если есть замечания по читаемости/оптимальности решений, пж пишите. Это приложение для личных целей - у нас в универе волшебное нечитаемое расписание...
Код:
import pandas as pd
import xlrd as xl

#откроем файл благодаря библиотеке xlrd
path_to_the_file = r'D:\rasp1.xls'#input('где файл, чорт\n')
raspisanie = xl.open_workbook(path_to_the_file)
table_raspisanie = raspisanie.sheet_by_index(0)

#НЕБОЛЬШОЙ ПРОПУСК КОДА

#Сформируем пул объектов Series копирующих отдельные столбцы расписания. Все кроме предметных
time_lessions = pd.Series()
day_of_the_week = pd.Series()
nomer_pary = pd.Series()
auditoria = pd.Series()

#охарактеризуем их положение в таблице
day_of_the_week['index_in_table'] = 0
time_lessions['index_in_table'] = 1
nomer_pary['index_in_table'] = 2
auditoria['index_in_table'] = 6
indexes = pd.Series([time_lessions,day_of_the_week,nomer_pary,auditoria])

#начнем постепенно заполнять их учитывая особенности входной таблицы

for i in range(2): #для теста всего две итерации #coloumn_size[0],coloumn_size[1]
    for k in indexes:
        numm = k['index_in_table']
        input_of_table = table_raspisanie.cell_value(i,numm) #i - Вертикаль numm - за горизантальное перемещение отвечает
        k = k._append(pd.Series({i:input_of_table}))
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
Вообще так с pandas не работают.
1. pandas имеет мощный I/O как следствие эксель в том числе читают прямо в фрейм. Есть функции read_excel и другие, дополнительно перед этим установив различные reader's writer's например openpyxl и др.

2. Если ты собираешься создать series из python объекта, с числовыми индексами то это list. Если с именованными индексами но это словарь. То есть собирай в словарь или лист. Seires это однородный массив и с именованными индексами, и for циклами их не процессируют.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы