#python #pandas #feature-engineering
#питон #панды #характеристика-проектирование
Вопрос:
У меня есть такой столик:
ПК | пользователь | Период |
---|---|---|
A | U1 | 2020/01 |
A | U2 | 2020/02 |
A | U3 | 2020/03 |
A | U4 | 2020/04 |
B | U1 | 2020/01 |
B | U2 | 2020/02 |
B | U2 | 2020/03 |
Мне нужно создать «счетчик функций», чтобы проверить, сколько раз «КОМПЬЮТЕР» был найден и «пользователь» подключен
теперь для алгоритма машинного обучения, каков наилучший способ сделать это? или даже их комбинацию
- для каждой строки укажите максимальное соединение:
ПК | пользователь | Период | Максимальное мошенничество На ПК | Максимальное Количество Мошенничеств На Одного ПОЛЬЗОВАТЕЛЯ |
---|---|---|---|---|
A | U1 | 2020/01 | 4 | 2 |
A | U2 | 2020/02 | 4 | 3 |
A | U3 | 2020/03 | 4 | 1 |
A | U4 | 2020/04 | 4 | 1 |
B | U1 | 2020/01 | 3 | 2 |
B | U2 | 2020/02 | 3 | 3 |
B | U2 | 2020/03 | 3 | 3 |
- для каждой строки покажите КОЛИЧЕСТВО соединений:
ПК | пользователь | Период | Максимальное мошенничество На ПК | Максимальное Количество Мошенничеств На Одного ПОЛЬЗОВАТЕЛЯ |
---|---|---|---|---|
A | U1 | 2020/01 | 1 | 1 |
A | U2 | 2020/02 | 2 | 1 |
A | U3 | 2020/03 | 3 | 1 |
A | U4 | 2020/04 | 4 | 1 |
B | U1 | 2020/01 | 1 | 2 |
B | U2 | 2020/02 | 2 | 2 |
B | U2 | 2020/03 | 3 | 3 |
Ответ №1:
Вы можете использовать groupby
тогда transform
и cumcount
:
# Use lazy groups gpc = df.groupby('PC')['PC'] gus = df.groupby('USER')['Period'] df['Max Con Per PC'] = gpc.transform('size') df['Count Con Per PC'] = gpc.cumcount() 1 df['Max Con Per USER'] = gus.transform('size') df['Count Con Per USER'] = gus.cumcount() 1
Выход:
gt;gt;gt; df PC USER Period Max Con Per PC Count Con Per PC Max Con Per USER Count Con Per USER 0 A U1 2020/01 4 1 2 1 1 A U2 2020/02 4 2 3 1 2 A U3 2020/03 4 3 1 1 3 A U4 2020/04 4 4 1 1 4 B U1 2020/01 3 1 2 2 5 B U2 2020/02 3 2 3 2 6 B U2 2020/03 3 3 3 3
Комментарии:
1. спасибо, но для алгоритма машинного обучения, каков наилучший подход. сделайте комбинацию метиода?????
2. Что вы хотите сделать: классификацию или регрессию?
3. я что делать классификация спасибо !!!
4. Какова ваша целевая колонка (y)?
5. целевые столбцы «является мошенничеством» Да 1 нет 0