Python Pandas 百分位数

Bangale Sampath Kumar Rao 2022年5月16日
Python Pandas 百分位数

在 Python 中,有一些内置函数,例如 mean()mode()median()quantile() 函数。

开发人员认为此功能是数据清理过程中的关键步骤。

在 Python 中计算 Pandas 百分位数

一家豪华汽车公司想要发展它的分支机构,因为它试图通过获得人们的收入来寻找最佳位置。

import pandas as pd
import numpy as np

df = pd.read_excel("C:\\Users\\banga\\Downloads\\Record.xlsx")
df

输出:

# A Dataframe with `Name` and `Monthly Income (in INR)` as columns present in the Record.xlsx file. These columns determine the income of people present in the respective locality.
index	Name		Monthly Income (in INR)
0	John		30000
1	Joel		35000
2	Albert		45000
3	Ali		50000
4	Jerin		70000
5	Robert		90000
6	Sampath		1000000

我们已经使用 pandas 将数据集导入到 DataFrame 中。让我们根据我们的要求过滤 DataFrame。

公司需要当地的平均收入,影响其成长。

df.describe()

输出:

index	Monthly Income (in INR)
count	7.000000
mean	188571.428571
std	358407.522774
min	30000.000000
25%	40000.000000
50%	50000.000000
75%	80000.000000
max	1000000.000000

我们可以推断,均值高于人们的平均收入。我们使用百分比概念来处理这些类型的实时情况。

percentile = df["Monthly Income (in INR)"].quantile(0.99)
percentile

输出:

945399.9999999995
new_df = df[df["Monthly Income (in INR)"] <= percentile]
new_df

输出:

index	Name		Monthly Income (in INR)
0	John		30000
1	Joel		35000
2	Albert		45000
3	Ali		50000
4	Jerin		70000
5	Robert		90000

我们找到了一种解决方案,现在我们必须在 DataFrame 中填充空值,主要是平均值。

df

输出:

index	Name		Monthly Income (in INR)
0	John		30000.0
1	Joel		35000.0
2	Albert		45000.0
3	Ali		NaN
4	Jerin		70000.0
5	Robert		90000.0
6	Sampath		1000000.0
avg = df["Monthly Income (in INR)"].mean()
df.fillna(avg)

输出:

index	Name		Monthly Income (in INR)
0	John		30000.000000
1	Joel		35000.000000
2	Albert		45000.000000
3	Ali		211666.666667
4	Jerin		70000.000000
5	Robert		90000.000000
6	Sampath		1000000.000000

我们可以看到空值填充了平均收入,但并不理想。为了克服这个问题,我们使用了另一种方法。

med = df["Monthly Income (in INR)"].median()
df.fillna(med)

输出:

index	Name		Monthly Income (in INR)
0	John		30000.0
1	Joel		35000.0
2	Albert		45000.0
3	Ali		57500.0
4	Jerin		70000.0
5	Robert		90000.0
6	Sampath		1000000.0

通过这种方式,我们可以根据公司的成长确定适当的价值。

相关文章 - Python Pandas