首页 > 解决方案 > 如何修改我的代码以输出百分比和数字?

问题描述

我有下面的代码,它分析 Excel 表中的数据以产生每种水果的计数。我正在寻找修改代码,所以我有另一个列,其中包含每种水果的相对百分比,或者如果有一种方法可以编写代码来引用下面代码的输出以提供所需的百分比。

fruit = active["basket"].str.split(";").apply(pd.Series, 1).stack()

fruit = fruit.str.strip()
fruit = fruit.str.strip('#')
fruit.index = fruit.index.droplevel(-1)
fruit.name = "basket"
del active["basket"]
fruit = active.join(fruit)
fruit.to_excel(excel_writer, sheet_name = 'FRUIT_List', index = False)

fruit_counts = fruit.groupby(["basket"]).size().reset_index()
fruit_counts.rename(columns = {0: "Count"},inplace = True)
fruit_counts.to_excel(excel_writer, sheet_name = 'FRUIT_Counts', index = False)

print(fruit_counts)

输出:

Basket     Count
Oranges     9
Mangoes     8
Watermelons 6
Sugarcanes  5
Grapes      3

标签: pythonpandasdataframe

解决方案


将百分比列添加到fruit_counts 数据框:

fruit_counts['percent'] = fruit_counts.Count / fruit_counts['Count'].sum()

输出:

    Basket      Count   percent
0   Oranges     9   0.290323
1   Mangoes     8   0.258065
2   Watermelons 6   0.193548
3   Sugarcanes  5   0.161290
4   Grapes      3   0.096774

推荐阅读