pandas 统计百分比
在数据分析领域中,统计百分比是一项非常重要的任务。通过计算数据集中不同类别的百分比,我们可以更加直观地了解数据的分布情况,从而为决策提供更加有力的支持。本文将介绍如何使用Python中的pandas库来统计数据集中不同类别的百分比,并且通过示例代码演示实际操作步骤。
1. 统计单个类别的百分比
首先,我们来看如何统计数据集中单个类别的百分比。假设我们有一个包含多个用户访问网站的数据集,其中包括用户ID和访问来源两列数据。我们想要统计访问来源为”geek-docs.com”的用户在整个数据集中所占的百分比。
import pandas as pd
# 创建示例数据集
data = {'User_ID': [1, 2, 3, 4, 5],
'Source': ['geek-docs.com', 'google.com', 'geek-docs.com', 'bing.com', 'geek-docs.com']}
df = pd.DataFrame(data)
# 统计访问来源为"geek-docs.com"的用户百分比
percentage = df[df['Source'] == 'geek-docs.com'].shape[0] / df.shape[0] * 100
print(f"geek-docs.com用户的百分比为: {percentage:.2f}%")
运行结果:
geek-docs.com用户的百分比为: 60.00%
可以看到,在这个数据集中,访问来源为”geek-docs.com”的用户占据了60%的比例。
2. 统计多个类别的百分比
除了统计单个类别的百分比,我们还可以统计数据集中多个类别的百分比。接下来,让我们看一个示例,统计数据集中不同访问来源的用户所占的百分比。
import pandas as pd
# 创建示例数据集
data = {'User_ID': [1, 2, 3, 4, 5],
'Source': ['geek-docs.com', 'google.com', 'geek-docs.com', 'bing.com', 'geek-docs.com']}
df = pd.DataFrame(data)
# 统计不同访问来源的用户百分比
percentage = df['Source'].value_counts(normalize=True) * 100
print(percentage)
运行结果:
geek-docs.com 60.0
google.com 20.0
bing.com 20.0
Name: Source, dtype: float64
从结果中可以看到,在这个数据集中,”geek-docs.com”用户占据了60%的比例,”google.com”用户占据了20%的比例,”bing.com”用户占据了20%的比例。
3. 处理缺失值的百分比统计
在实际数据分析中,经常会遇到缺失值的情况。针对缺失值,我们也可以统计其所占的百分比。下面的示例展示了如何统计数据集中缺失值的百分比。
import pandas as pd
import numpy as np
# 创建示例数据集
data = {'User_ID': [1, 2, np.nan, 4, 5],
'Source': ['geek-docs.com', 'google.com', 'geek-docs.com', 'bing.com', 'geek-docs.com']}
df = pd.DataFrame(data)
# 统计缺失值的百分比
total_missing = df['User_ID'].isnull().sum()
percentage_missing = total_missing / df.shape[0] * 100
print(f"缺失值的百分比为: {percentage_missing:.2f}%")
运行结果:
缺失值的百分比为: 20.00%
从结果中可以看到,在这个数据集中,有20%的数据缺失了User_ID信息。
通过以上示例,我们了解了如何使用pandas库来统计数据集中不同类别的百分比。这项工作在数据分析和决策支持中都起着至关重要的作用。