【发布时间】:2021-10-24 22:40:50
【问题描述】:
我想按名为“水果”的数据框中的特定列进行分组,并计算该特定水果“好”的百分比
下面是我的初始数据框
import pandas as pd
df = pd.DataFrame({'Fruit': ['Apple','Apple','Banana'], 'Condition': ['Good','Bad','Good']})
数据框
Fruit Condition
0 Apple Good
1 Apple Bad
2 Banana Good
下面是我想要的输出数据框
Fruit Percentage
0 Apple 50%
1 Banana 100%
注意:因为有 1 个“好”苹果和 1 个“坏”苹果,所以好苹果的百分比是 50%。
请参阅下面我的尝试覆盖所有列
groupedDF = df.groupby('Fruit')
groupedDF.apply(lambda x: x[(x['Condition'] == 'Good')].count()/x.count())
请参阅下面的结果表,该表似乎在计算百分比,但在现有列而不是新列中:
Fruit Condition
Fruit
Apple 0.5 0.5
Banana 1.0 1.0
【问题讨论】:
标签: python pandas dataframe pandas-groupby