我想增加排名栏根据3个条件:公司名称,品牌,年份。你知道吗
这是我的原始数据:
CompanyName Brand Year
0 A Razer 2019
1 A SteelSeries 2019
2 A Logitech 2019
3 A Razer 2018
4 A SteelSeries 2018
5 B Logitech 2019
6 B Asus 2019
7 B Benq 2018
8 C Asus 2017
9 C Razer 2017
这是我想要的结果:(可能会让你困惑)
CompanyName Brand Year Rank
0 A Razer 2019 1
1 A SteelSeries 2019 2
2 A Logitech 2019 3
3 A Razer 2018 1
4 A SteelSeries 2018 2
5 B Logitech 2019 1
6 B Asus 2019 2
7 B Benq 2018 1
8 C Asus 2017 1
9 C Razer 2017 2
代码我试过,但它只循环独特的品牌:
df1 = pd.DataFrame()
for i,brands in enumerate(df['Brand'].unique):
df1.loc[i-1,'Rank'] = i
df1.loc[i-1, 'Brand']= brands
df = df.merge(df1,on='Brand',how='inner')
请下次提供以下格式的文本数据帧-
请复习How to make good reproducible pandas examples
非常简单,您可以按
CompanyName
和Year
列进行分组,并应用累计计数:相关问题 更多 >
编程相关推荐