Python 如何在每行中显示分组变量计数
我想为下面的数据显示每个评级行中给定月份的给定评级计数。这意味着第0行和第3行将有一个2,因为第1个月有两个10评级Python 如何在每行中显示分组变量计数,python,python-3.x,Python,Python 3.x,我想为下面的数据显示每个评级行中给定月份的给定评级计数。这意味着第0行和第3行将有一个2,因为第1个月有两个10评级 test = {'Rating': [10,9,8,10,8,6,4,3,0,7,2,5], 'Month': [1,2,3,1,3,2,1,2,3,1,2,3]} test_df = pd.DataFrame(data=test) 我尝试了以下方法,但没有多大帮助: test_df['Rating_totals'] = test_df.groupby(['Month'])['
test = {'Rating': [10,9,8,10,8,6,4,3,0,7,2,5], 'Month': [1,2,3,1,3,2,1,2,3,1,2,3]}
test_df = pd.DataFrame(data=test)
我尝试了以下方法,但没有多大帮助:
test_df['Rating_totals'] = test_df.groupby(['Month'])['Rating'].count()
有办法做到这一点吗?使用值\u计数()
:
要按月份和评级对结果进行排序,请执行以下操作:
total_rankings = test_df[['Month', 'Rating']].value_counts().sort_index()
使用apply
将每行的总计数作为新列添加到test_df
:
test_df['total_rankings'] = test_df.apply(lambda row: total_rankings.loc[row['Month', row['Ratings']], axis=1)
使用值\u计数()
:
要按月份和评级对结果进行排序,请执行以下操作:
total_rankings = test_df[['Month', 'Rating']].value_counts().sort_index()
使用apply
将每行的总计数作为新列添加到test_df
:
test_df['total_rankings'] = test_df.apply(lambda row: total_rankings.loc[row['Month', row['Ratings']], axis=1)
谢谢如何在df中创建一个每行都显示计数的新列?换句话说,我怎样才能创建一个列,在第0个月和第3个月的评分为10时显示2?由于某些原因,它无法将每个月的总计与每个评分相匹配。取而代之的是,我在前十行填上了所有月份的总数,加上评级。奇怪的是,对我来说,它是按预期工作的。你能显示你正在使用的完整代码以及你得到的结果吗?注意到缺少一个括号。现在效果很好。非常感谢你!谢谢如何在df中创建一个每行都显示计数的新列?换句话说,我怎样才能创建一个列,在第0个月和第3个月的评分为10时显示2?由于某些原因,它无法将每个月的总计与每个评分相匹配。取而代之的是,我在前十行填上了所有月份的总数,加上评级。奇怪的是,对我来说,它是按预期工作的。你能显示你正在使用的完整代码以及你得到的结果吗?注意到缺少一个括号。现在效果很好。非常感谢你!