Pandas 在同一个表(同一数据帧)中,如何使用新名称和其他行值的总和对不同的行进行分组
现在我希望上面的格式是下面的格式。此后,基于此,我想构建图表Pandas 在同一个表(同一数据帧)中,如何使用新名称和其他行值的总和对不同的行进行分组,pandas,pandas-groupby,sklearn-pandas,expandablelistadapter,pandas-datareader,Pandas,Pandas Groupby,Sklearn Pandas,Expandablelistadapter,Pandas Datareader,现在我希望上面的格式是下面的格式。此后,基于此,我想构建图表 below dataframe is the output of below code i want to group rows further train=pd.read_excel("monthly_report.xlsx", sheet_name="xy12",sep=r'\s*,\s*') train['Date/Time Opened']=train['Date/Time Opened'].dt.month_name() t
below dataframe is the output of below code i want to group rows further
train=pd.read_excel("monthly_report.xlsx", sheet_name="xy12",sep=r'\s*,\s*')
train['Date/Time Opened']=train['Date/Time Opened'].dt.month_name()
train=train.groupby(['col1', 'Date/Time Opened'])['Date/Time Opened'].count()
col1 Date/Time Opened number
abc April 40
August 30
December 25
February 30
January 45
xyz April 1
August 1
November 3
October 2
September 3
pqr March 2
May 4
November 5
October 2
有人能告诉我如何将行与新行中的diffrenet值以及其他行值的总和连接起来吗?您可以将其用于设置相同的类别:
abcxyz(new name) April 41
August 31
December 25
February 30
January 45
September 3
November 3
October 2
pqr(new name)
March 2
May 4
November 5
October 2
或与字典一起使用:
train['col1'] = train['col1'].mask(train['col1'].isin(['abc','xyz']), 'abcxyz')
。。。然后使用您的解决方案:
train['col1'] = train['col1'].replace({'abc':'abcxyz','xyz':'abcxyz'})
train['Date/Time Opened']=train['Date/Time Opened'].dt.month_name()
train=train.groupby(['col1', 'Date/Time Opened'])['Date/Time Opened'].count()