从pandas生成百分比

cwtwac6a  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(433)

0
我目前正在处理来自sql的数据集-

import pandas as pd
df = spark.sql("select * from donor_counts_2015")
df_info = df.toPandas()
print(df_info)

输出如下所示(出于隐私原因,我不能包含实际输出):在此处输入图像描述
正如你所看到的,这是一个数据集,它有一个基金的名称,然后有多少人向该基金捐款。我现在要做的是计算出百分之多少的基金只有一次捐赠,百分之多少有2次,34次,等等。我想知道有没有一个简单的方法来处理Pandas?如果你也能看到一系列基金的百分比,比如50-100个捐款,500-1000个,等等,我也会很感激的。谢谢!

ekqde3dh

ekqde3dh1#

你可以做一个捐款的柱状图来显示捐款的分布情况。 np.histogram 可能会有帮助。也可以手动对数据进行排序和计数。

n7taea2i

n7taea2i2#

对于第一个任务,要获取“number\u of \u捐赠”列的百分比,可以执行以下操作:

df['number_of_donations'].value_counts(normalize=True) * 100

对于第二个任务,您需要创建一个包含类别的新列,然后执行相同的操作:


# Create a Serie with categories

New_Serie = pd.cut(df.number_of_donations,bins=[0,100,200,500,99999999],labels = ['Few','Medium','Many','Too Many'])

# Change the name of the Column

New_Serie.name = Category

# Concat df and New_Serie

df = pd.concat([df, New_Serie], axis=1)

# Get the percentage of the Categories

df['Category'].value_counts(normalize=True) * 100

相关问题