Организация файла Excel как фрейма данных pandas

Формат файла Excel, экспортированного из веб-приложения, бесполезен. Необходимо выполнить над ним различные операции, чтобы сделать его пригодным в качестве фрейма данных. Из bubble.io файл Excel будет загружен пользователем, обработан в корзине Amazon s3 с использованием лямбда-функции, которая удаляет пару пустых строк вверху (но мне нужны некоторые значения ячеек), добавляет столбцы и перемещает некоторые столбцы, чтобы стать дальнейшие строки дальше по таблице, прежде чем он будет возвращен в виде файла csv с помощью пузырька для добавления в качестве нового типа данных (сбивающая с толку терминология для таблицы, которую использует bubble.io)

В конечном итоге мне нужно использовать pandas для преобразования этого файла Excel...

раньше

... к этому (но как фрейм данных я могу экспортировать в файл Excel или CSV)

после

Хорошо, и что ты уже сделал? Где ты застрял? (Панды также могут плохо подходить для первоначальной обработки; посмотрите непосредственно на использование openpyxl.)

AKX 22.06.2024 12:09

Предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

Community 22.06.2024 12:22
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как только вы прочитаете файл Excel как фрейм данных pandas, вы можете использовать stack, чтобы получить ожидаемый результат.

Предполагая, что этот фрейм данных является входными:

data = {
    ("01/01/2024", "a"): [1, 2, 3],
    ("01/01/2024", "b"): [4, 5, 6],
    ("01/01/2024", "c"): [7, 8, 9],
    ("02/01/2024", "a"): [10, 11, 12],
    ("02/01/2024", "b"): [13, 14, 15],
    ("02/01/2024", "c"): [16, 17, 18],
}
index = ["A", "B", "C"]

df = pd.DataFrame(data, index=index)
  01/01/2024       02/01/2024        
           a  b  c          a   b   c
A          1  4  7         10  13  16
B          2  5  8         11  14  17
C          3  6  9         12  15  18

Используйте stack, затем сбросьте индекс и отсортируйте значения в нужном порядке:

df = df.stack(level=0).reset_index(names=["ID", "date"]).sort_values(["date", "ID"])
  ID        date   a   b   c
0  A  01/01/2024   1   4   7
2  B  01/01/2024   2   5   8
4  C  01/01/2024   3   6   9
1  A  02/01/2024  10  13  16
3  B  02/01/2024  11  14  17
5  C  02/01/2024  12  15  18

Другие вопросы по теме