Как добавить условия в столбцы при группировании по сводной таблице Pandas - PullRequest
0 голосов
/ 23 сентября 2018

Я использовал group by и сводную таблицу из пакета pandas для создания следующей таблицы:

Ввод:

q4 = q1[['category','Month']].groupby(['category','Month']).Month.agg({'Count':'count'}).reset_index()
q4 = pd.DataFrame(q4.pivot(index='category',columns='Month').reset_index())

, затем вывод:

category                            Count
Month                       6       7       8
0   adult-classes           29.0    109.0   162.0
1   air-pollution           27.0    43.0    13.0
2   babies-and-toddlers     4.0     51.0    2.0
3   bicycle                 210.0   96.0    23.0
4   building                NaN     17.0    NaN
5   buildings-maintenance   23.0    12.0    NaN
6   catering                1351.0  4881.0  1040.0
7   childcare               9.0     NaN     NaN
8   city-planning           105.0   81.0    23.0
9   city-services           2461.0  2130.0  1204.0
10  city-taxes              1.0     4.0     42.0

Я пытаюсь добавить условие к месяцам, у меня проблема в том, что после поворота я не могу получить доступ к столбцам

как показать только те строки, где 6 <7 <8 </p>

1 Ответ

0 голосов
/ 23 сентября 2018

Чтобы сгладить мультииндекс, вы можете использовать переименование столбцов (см. этот ответ ).

q4.columns = [''.join([str(c) for c in col]).strip() for col in q4.columns.values]

Для удаления NaN s:

q4.fillna(0, inplace=True)

Чтобы выбрать в соответствии с вашими ограничениями:

result = q4[(q4['Count6'] < q['Count7']) & (q4['Count7'] < q4['Count8'])]
...