Создание функции в python для хранения данных - PullRequest
0 голосов
/ 30 января 2020

У меня есть данные с 1000 строк и 2 столбца. Один столбец с CustomerID и другой со значениями. Мне нужно создать функцию для хранения значений в 5 группах. Процесс биннинга мне нужно использовать следующим образом. Всем значениям = 1 будет присвоен балл = 1. Для оставшихся значений будет взято их среднее значение, а значениям ниже среднего будет присвоен балл = 2. Далее для оставшихся значений (не оцененных) будет взято их среднее значение, а значениям ниже среднего будет присвоен балл = 3. И так далее.

1 Ответ

0 голосов
/ 30 января 2020

Если предположить, что подсчет 5 корзин не рассчитан, оставшиеся предметы будут иметь оценку 0.

import pandas as pd
import numpy as np

cid = np.arange(1,1001)
score = np.zeros(1000, dtype=int)
values = np.random.randint(0,100,1000)

df = pd.DataFrame({'CID':cid, 'Values':values, 'Score':score})

df.loc[df['Values'] == 1, 'Score'] = 1

for i in range(2,6):
    mean = df.loc[df['Score'] ==0, 'Values'].mean()
    df.loc[(df['Score'] == 0) & (df['Values']<mean), 'Score'] = i

print(df)
...