Относительная частота из фрейма данных с 3 столбцами необработанных данных? - PullRequest
0 голосов
/ 08 ноября 2018

Новичок в Python (& StackOverflow ), я изо всех сил пытаюсь найти решение, чтобы взять мои ['Product_Name', 'Date_of_Sale', 'Quantity'] данные и вывести относительные частоты ежедневных количественных частот для продукта.

Например, Продукт 1 продает 8 единиц (День 1), 6 единиц (День 2), 6 (День 3), 5 (День 4), 8 (День 5), 7 (День 6), 6 (День 7 ) в течение 7 дней с указанием относительных частот для Продукта 1 из {5 units : 0.142, 6 : 0.429, 7 : 0.142, 8 : 0.286}.

Как я могу сделать это для всех продуктов за период?

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Нормализация значений:

>>> df['Product1'].value_counts(normalize=True)
6    0.428571
8    0.285714
7    0.142857
5    0.142857
Name: Product1, dtype: float64

Выполнение этого «для всех продуктов за период» зависит от структуры ваших данных. Вам нужно будет предоставить образец и ожидаемый результат.

0 голосов
/ 08 ноября 2018

Используйте value_counts() и to_dict():

import pandas as pd

df = pd.DataFrame({'Day': [1, 2, 3, 4, 5, 6, 7],
    'Product1': [8, 6, 6, 5, 8, 7, 6]})

df['Product1'].value_counts().div(df.shape[0]).to_dict()

Урожайность:

{6: 0.42857142857142855, 8: 0.2857142857142857, 7: 0.14285714285714285, 5: 0.14285714285714285}
...