以下是一个示例代码,演示如何按照分组和条件进行数据统计:
import pandas as pd
# 创建一个示例数据集
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
'Age': [20, 25, 30, 35, 40, 45],
'Gender': ['Male', 'Male', 'Male', 'Female', 'Female', 'Female'],
'Salary': [5000, 6000, 7000, 8000, 9000, 10000]}
df = pd.DataFrame(data)
# 按照性别分组,并计算每个组的平均工资
grouped_gender = df.groupby('Gender')
average_salary_by_gender = grouped_gender['Salary'].mean()
print(average_salary_by_gender)
# 按照年龄分组,并计算每个组的人数
age_groups = pd.cut(df['Age'], bins=[0, 30, 40, 50])
grouped_age = df.groupby(age_groups)
count_by_age_group = grouped_age.size()
print(count_by_age_group)
# 根据多个条件同时分组,并计算每个组的总工资
grouped_multiple = df.groupby(['Gender', age_groups])
total_salary_by_group = grouped_multiple['Salary'].sum()
print(total_salary_by_group)
这段代码使用了pandas
库来进行数据统计。首先创建一个示例数据集,包含姓名、年龄、性别和工资信息。然后使用groupby()
函数按照指定的分组条件进行分组,再使用相应的聚合函数(如mean()
、size()
、sum()
等)来计算统计结果。
示例中的第一个统计目标是按照性别分组,并计算每个组的平均工资。代码中使用groupby('Gender')
将数据按照性别分组,然后使用mean()
函数计算每个组的平均工资。
第二个统计目标是按照年龄分组,并计算每个组的人数。代码中使用pd.cut()
函数将年龄信息分成三个组(0-30、30-40和40-50),然后使用groupby()
函数按照这个分组条件进行分组,再使用size()
函数计算每个组的人数。
最后一个统计目标是根据多个条件同时分组,并计算每个组的总工资。代码中使用groupby(['Gender', age_groups])
将数据按照性别和年龄组合分组,然后使用sum()
函数计算每个组的总工资。
这只是一个简单的示例,你可以根据你的具体需求和数据结构进行相应的修改和扩展。
上一篇:按照分组和聚合的方式来消除记录