Привет, у меня есть Матрица Панд, для которой мне нужно найти проценты.
Цель состоит в том, чтобы узнать, сколько пользователь использовал продукт на дату. В основном, чтобы узнать, на какую дату этот пользователь использовал какой% категории.
Что я заставил Excel сделать
Я получил эту работу в Excel, взяв счет каждого индивидуального пользователя в категории и разделив его на количество идентификаторов для категории
Я понятия не имею, как изобразить это в Пандах или как сработать, чтобы посмотреть, как это сделать в Документации. Можете ли вы помочь мне получить что-то подобное в Матрице Панд?
поля, с которыми я работаю:
«Категория», «Идентификатор», «Пользователь», «Произошло»
Это немного, потому что я так застрял, пока у меня есть:
func = lambda x: 100*x.count()/df.shape[1]
counts = df.pivot_table(index=["Category", 'User', 'ID'], values = ["Occurred On"], aggfunc=func, margins=True, fill_value=0)
print(counts)
Может ли кто-нибудь указать мне правильное направление того, что мне нужно прочитать в документации или других постах здесь, чтобы понять, как выполнить математику в этой матрице?
Редактировать # 1: Фрейм данных выглядит примерно так:
TextFileReader = pd.read_csv(csv_input, sep=',', names = ['Category', 'ID', 'User', 'Occurred On'])
lookup = pd.read_csv('lookup.csv', sep=',')
df= pd.merge(lookup, keep, left_on='user', right_on='user', how='inner')
Вывод фрейма данных:
Category User ID #Count Occurred On #%
Category 1 ___________________... 1@work.com 1543841 16.666667
1543842 16.666667
1543843 16.666667
1543844 16.666667
1543845 16.666667
1543846 16.666667
1543847 16.666667
1543848 16.666667
1543849 16.666667
1543850 16.666667
1543851 16.666667
1543852 16.666667
1543853 16.666667
1543854 16.666667
1543855 16.666667
1543856 16.666667
1543857 16.666667
1543858 16.666667
1543859 16.666667
1543860 16.666667
1543861 16.666667
1543862 16.666667
1543863 16.666667
Category2 ... b@work.com 6064691 16.666667
6064692 16.666667
6064693 16.666667
6064694 16.666667