Python(&StackOverflow)的新手,我正在努力寻找一种解决方案来获取我的['Product_Name', 'Date_of_Sale', 'Quantity']
数据并输出每种产品每日数量频率的相对频率。
例如,产品1售出8个单位(第1天),6个单位(第2天),6(第3天),5(第4天),8(第5天),7(第6天),6(第7天) )在7天内给出{5 units : 0.142, 6 : 0.429, 7 : 0.142, 8 : 0.286}
的乘积1的相对频率。
如何在一段时间内对所有产品执行此操作?
答案 0 :(得分:1)
使用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}
答案 1 :(得分:1)
归一化值计数:
>>> df['Product1'].value_counts(normalize=True)
6 0.428571
8 0.285714
7 0.142857
5 0.142857
Name: Product1, dtype: float64
“针对一段时间内的所有产品”执行此操作取决于您的数据结构。您需要提供示例和预期结果。