Dataset as beloe and I want to aggregate the by 'Name' and 'Weeks' to get their mode.
I tried 2 ways but neither worked:
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()
What's the right way? Thank you.