DataFrame - 添加新的排名列

对于下表,仅考虑前两列“水果”和“百分比”。

你如何添加第三列,即。'new_column' 分组查看 'Fruit' 列,并输入一个与百分比相对应的数字。例如,在“Apple”组中 - 最高百分比是 99 - 所以它被分配 1.... 等等。

所以 - 给定 'Fruit' 和 'percentage' 列 - 你如何将 'new_column' 添加到数据框中。

希望这很清楚,并提前致谢。

水果 百分比 新列
苹果 23 3
苹果 99 1
苹果 50 2
45 4
87 1
67 3
70 2
93 1
75 2
加拉诺斯

我认为这应该是这样的:

import pandas as pd

原始数据:

df = pd.DataFrame({
      'fruit': ['Apple', 'Apple', 'Apple', 'Pear', 'Pear', 'Pear', 'Pear', 'Peach', 'Peach'], 
      'percentage': [23, 99, 50, 45, 87, 67, 70, 93, 75]
})

输出

在此处输入图片说明

根据对df数据框进行分组fruit以及组内的rank创建新的“排名”列percentage

df['rank'] = df.groupby('fruit')['percentage'].rank()

输出:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章