对于下表,仅考虑前两列“水果”和“百分比”。
你如何添加第三列,即。'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] 删除。
我来说两句