小编Alf*_*ace的帖子

如何对 pandas 列进行分组以创建新的百分比列

我有一个pandas如下所示的数据框:

mydict ={
        'person': ['Jenny', 'Jenny', 'David', 'David', 'Max', 'Max'],
        'fruit': ['Apple', 'Orange', 'Apple', 'Orange', 'Apple', 'Orange'],
        'eaten': [25, 75, 15, 5, 10, 10]
    }

df = pd.DataFrame(mydict) 

    person fruit   eaten
    Jenny  Apple   25
    Jenny  Orange  75
    David  Apple   15
    David  Orange  5
    Max    Apple   10
    Max    Orange  10 
Run Code Online (Sandbox Code Playgroud)

我想将其转换为:

person  apple_percentage  orange_percentage
Jenny   0.25              0.75
David   0.75              0.25
Max     0.50              0.50
Run Code Online (Sandbox Code Playgroud)

我猜我必须使用groupby某种能力来做到这一点,但无法找出一种干净的 Pythonic 方式来做到这一点?

python dataframe pandas pandas-groupby

4
推荐指数
1
解决办法
67
查看次数

标签 统计

dataframe ×1

pandas ×1

pandas-groupby ×1

python ×1