Как добавить фильтры в сводную таблицу Python Pandas?Python

Программы на Python
Anonymous
Как добавить фильтры в сводную таблицу Python Pandas?

Сообщение Anonymous »

Я пытаюсь воссоздать сводную таблицу, созданную в Excel, на Python, используя библиотеку Pandas. Существует более 500 тысяч строк данных об общем количестве поездок OD, которые я пытаюсь суммировать с периодом времени в качестве фильтра. В Excel я бы просто выполнил строку (O), столбец (D), значения (поездки), фильтр (время). Пока что в Python у меня есть только индекс, столбцы, значения и aggfunc, но я не знаю, как фильтровать. Существует 12 периодов времени, и я хочу включить только 3.
Я пробовал использовать O/D как индекс, а затем время как столбец. Есть ли способ удалить столбцы из сводной таблицы?
Вот что у меня есть, что позволяет создать полную сводную таблицу, включая все времена:

Код: Выделить всё

import pandas as pd
df = pd.read_excel('...xlsx')
print(df.pivot_table(index=['O', "D"], columns=['Time'], values=['Trips'], aggfunc='sum'))
Я тоже пробовал:

Код: Выделить всё

print(df[(df.Time == '7am')].pivot_table(index=['O', "D"], columns=['Time'], values='Trips', aggfunc='sum'))
У меня это работает, но я пытаюсь включить 3 разных часа, поэтому попробовал

Код: Выделить всё

print(df[(df['Time'] == '7am') & (df['Time'] == '4pm') & (df['Time'] == 'All Day')].pivot_table(index=['O', "D"], columns=['Time'], values='Trips', aggfunc='sum'))
Но это не сработало.
Я новичок в Python и, признаться, мало что понимаю. Поэтому, пожалуйста, дайте мне знать, если мне нужно стать более осведомленным в каком-то аспекте Python, чтобы понять это (или это невероятно просто). Или любые ресурсы, которые могут указать мне правильное направление.

Подробнее здесь: https://stackoverflow.com/questions/788 ... ivot-table

Вернуться в «Python»