📜  pandas 按列计算值 - Python (1)

📅  最后修改于: 2023-12-03 15:18:14.940000             🧑  作者: Mango

Pandas按列计算值 - Python

Pandas是一个强大的Python库,用于数据操作和分析。在数据处理过程中,我们需要进行各种各样的数据计算和转换操作。本文将介绍Pandas如何按列计算值。

载入数据

首先,我们需要加载数据集。这里我们以一个包含工资数据的CSV文件为例。我们可以使用Pandas的read_csv()函数来读取数据。

import pandas as pd

# 读取csv文件
df = pd.read_csv('salary.csv')

# 打印数据集的前5行
print(df.head())

输出:

         Name Gender  Age   Salary
0      Robert      M   29  1482887
1    Samantha      F   30  1014460
2  Christopher      M   23  1304809
3     Victoria      F   26  1049244
4     Benjamin      M   27  1340365
计算平均工资

现在我们想要计算工资的平均值。我们可以使用Pandas的mean()函数来计算一个数据列的平均值。

# 计算Salary列的平均值
avg_salary = df['Salary'].mean()

# 打印平均工资
print('Average Salary:', avg_salary)

输出:

Average Salary: 1189404.2
计算每个性别的平均工资

现在我们想要计算每个性别的平均工资。我们可以使用Pandas的groupby()函数来分组计算每个性别的平均工资。

# 按Gender分组计算平均Salary
avg_salary_by_gender = df.groupby('Gender')['Salary'].mean()

# 打印每个性别的平均工资
print('Average Salary by Gender:')
print(avg_salary_by_gender)

输出:

Average Salary by Gender:
Gender
F    1206130.0
M    1172834.4
Name: Salary, dtype: float64
计算每个年龄组的平均工资

最后,我们想要计算每个年龄组的平均工资。我们可以使用Pandas的cut()函数来将年龄拆分为不同的年龄组,然后使用groupby()函数来分组计算每个年龄组的平均工资。

# 将Age列拆分为不同的年龄组
age_bins = [18, 25, 30, 35, 40, 50]
age_labels = ['18-25', '25-30', '30-35', '35-40', '40-50']
df['Age Group'] = pd.cut(df['Age'], bins=age_bins, labels=age_labels)

# 按Age Group分组计算平均Salary
avg_salary_by_age = df.groupby('Age Group')['Salary'].mean()

# 打印每个年龄组的平均工资
print('Average Salary by Age Group:')
print(avg_salary_by_age)

输出:

Average Salary by Age Group:
Age Group
18-25    1397612.000000
25-30    1179385.333333
30-35    1064926.285714
35-40    1540080.000000
40-50    1243315.500000
Name: Salary, dtype: float64
总结

本文介绍了如何使用Pandas按列计算值。我们演示了如何计算工资的平均值,每个性别的平均工资,以及每个年龄组的平均工资。Pandas的mean()groupby()函数使得这些计算变得非常容易和快速。