python代码:假设有用户数据表users.csv(其中包括user_id列,age列,gender列,occupation列(包括writer,other,technician,student四个属性))完成以下任务: (1)加载数据 (2)以occupation分组,求每种职业所有用户的平均年龄; (3)求每一种职业电性的占比,并按照从低到高的顺序排列; (4)获取每一种职业对应的最大和最小的用户年龄。
时间: 2024-03-23 21:38:21 浏览: 57
好的,这里是实现您要求的Python代码:
```python
import pandas as pd
# 加载数据
df = pd.read_csv('users.csv')
# 以occupation分组,求每种职业所有用户的平均年龄
grouped = df.groupby('occupation')['age'].mean()
print('每种职业所有用户的平均年龄:\n', grouped)
# 求每一种职业电性的占比,并按照从低到高的顺序排列
gender_counts = df.groupby('occupation')['gender'].value_counts()
occupation_counts = df.groupby('occupation')['gender'].count()
percentage = gender_counts / occupation_counts * 100
percentage = percentage.sort_values()
print('每一种职业电性的占比:\n', percentage)
# 获取每一种职业对应的最大和最小的用户年龄
age_range = df.groupby('occupation')['age'].agg(['min', 'max'])
print('每一种职业对应的最大和最小的用户年龄:\n', age_range)
```
首先加载了数据,然后使用 pandas 库的 groupby 方法以 occupation 分组,求每种职业所有用户的平均年龄。接着,使用 groupby 方法求每一种职业电性的占比,并按照从低到高的顺序排列。最后,使用 groupby 方法获取每一种职业对应的最大和最小的用户年龄。
阅读全文