作为 beloe 的数据集,我想按“名称”和“周”聚合以获得它们的模式。
我尝试了两种方法,但都没有奏效:
import pandas as pd
from io import StringIO
csvfile = StringIO("""
Name Weeks Sales
Amelia 202106 57
Amelia 202105 61
Amelia 202106 59
Amelia 202103 49
Amelia 202105 87
Amelia 202104 95
Elijah 202106 49
Elijah 202105 40
Elijah 202106 57
Elijah 202103 97
Elijah 202105 67
Elijah 202104 89
James 202106 66
James 202105 92
James 202106 57
James 202103 82
James 202105 53
James 202104 71""")
df = pd.read_csv(csvfile, sep = '\t', engine='python')
df['Weeks'] = df['Weeks'].astype(str)
# tried both but neither worked:
mode = df.groupby(['Name', 'Weeks']).agg({'Sales': ['mode']})
# or
mode = df.groupby(df['Name', 'Weeks'])[['Sales']].mode()
什么是正确的方法?谢谢你。
尝试:
from statistics import mode
mode = df.groupby(['Name', 'Weeks'])['Sales'].apply(mode)
Name Weeks
Amelia 202103 49
202104 95
202105 61
202106 57
Elijah 202103 97
202104 89
202105 40
202106 49
James 202103 82
202104 71
202105 92
202106 66
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句