предложение по фильтрации фрейма данных по классу k - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть два столбца catogery, значения в первом: client_abc, client_def, второй столбец - F1, F2, F3, остальные - числовой столбец.

данные выглядят как

 date       client          facility     count     claim
21/3/2019   'client_abc'     F1           200        1300
22/3/2019    'client_def'    F2           400        1800
21/3/2019    'client_abc'    F3           1000       3000
22/3/2019    'client_def'    F1           380        3600
21/3/2019    'client_abc'    F2           900        900
22/3/2019    'client_def'    F3           1030       2500
21/3/2019    'client_abc'    F1           190        1700
22/3/2019    'client_def'    F2           100000     1560

для клиента 'abc' и 'f1'

 date       client          facility     count     claim
21/3/2019   'client_abc'     F1           200        1300
21/3/2019    'client_abc'    F1           190        1700

аналогично для 'abc' and 'f2', 'abc' and 'f3', 'def' and 'f1', 'def' and 'f2', 'def' and 'f3'.

Моя попытка

df_fac_f1 =df[facility=='F1' & client == 'client_abc' ]
df_fac_f1 =df[facility=='F1' & client == 'client_def' ]
df_fac_f1 =df[facility=='F2' & client == 'client_abc' ]
df_fac_f1 =df[facility=='F2' & client == 'client_def' ]
df_fac_f1 =df[facility=='F3' & client == 'client_abc' ]
df_fac_f1 =df[facility=='F3' & client == 'client_def' ]

Как можно получить тот же результат, не зная заранее значений столбцов facility и client?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

Вы можете использовать следующий код:

grouped = df.groupby(['client','facility'])
print(grouped.get_group(('client_abc', 'F1')))

выход:

         date      client facility  count
 0  21/3/2019  client_abc       F1    200
 2  21/3/2019  client_abc       F1   1000
 4  21/3/2019  client_abc       F1    900
 6  21/3/2019  client_abc       F1    190
0 голосов
/ 29 апреля 2019
for group, grouped in df.groupby(["facility", "client"]):
    pass # grouped is a df of grouped by this columns values 

Подробнее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...