1. 读取数据文件users.csv,创建DataFrame数据,数据列名为'user_id','gender','age','occupation','zip'。查看创建的数据信息及头5行数据。 2. 读取数据文件ratings.csv,创建DataFrame数据,数据列名为'user_id','movie_id','rating','timestamp'。查看创建的数据信息及头5行数据。 3. 读取数据文件movies.csv,创建DataFrame数据,数据列名为'movie_id','title','genres'。查看创建的数据信息及头5行数据。 4. 通过user_id合并评分数据和用户数据,再通过movie_id合并电影数据 5. 对性别进行分组,查看该分组下女性分组信息 6. 对电影名进行分组,计算平均评分和年龄 7. 读取数据文件HR_comma_sep.csv,显示头5行数据信息。 8. 将月工作时长转化为日工作时长,即除以30,保留一个小数位,将属性名'average_montly_hours'改为'average_daily_hours' 9. 将日工作时长分5段进行等频离散化,使用离散后结果替换该列数据,统计各区间频次。 10. 对工作类别进行哑变量(独热编码)处理
时间: 2024-03-14 13:46:00 浏览: 103
抱歉,作为一个语言模型,我无法读取和处理本地文件。但是,我可以为你提供一些Python代码示例,以帮助你完成这些任务。
1. 读取users.csv文件并创建DataFrame:
```python
import pandas as pd
users_df = pd.read_csv('users.csv', names=['user_id', 'gender', 'age', 'occupation', 'zip'])
print(users_df.info())
print(users_df.head())
```
2. 读取ratings.csv文件并创建DataFrame:
```python
ratings_df = pd.read_csv('ratings.csv', names=['user_id', 'movie_id', 'rating', 'timestamp'])
print(ratings_df.info())
print(ratings_df.head())
```
3. 读取movies.csv文件并创建DataFrame:
```python
movies_df = pd.read_csv('movies.csv', names=['movie_id', 'title', 'genres'])
print(movies_df.info())
print(movies_df.head())
```
4. 通过user_id合并评分数据和用户数据,再通过movie_id合并电影数据:
```python
merged_df = pd.merge(pd.merge(ratings_df, users_df, on='user_id'), movies_df, on='movie_id')
print(merged_df.info())
print(merged_df.head())
```
5. 对性别进行分组,查看该分组下女性分组信息:
```python
grouped_df = merged_df.groupby('gender')
print(grouped_df.get_group('F').info())
print(grouped_df.get_group('F').head())
```
6. 对电影名进行分组,计算平均评分和年龄:
```python
grouped_df = merged_df.groupby('title')
result_df = grouped_df.agg({'rating': 'mean', 'age': 'mean'})
print(result_df.info())
print(result_df.head())
```
7. 读取HR_comma_sep.csv文件并显示头5行数据信息:
```python
hr_df = pd.read_csv('HR_comma_sep.csv')
print(hr_df.head())
```
8. 将月工作时长转化为日工作时长,即除以30,保留一个小数位,将属性名'average_montly_hours'改为'average_daily_hours':
```python
hr_df['average_daily_hours'] = round(hr_df['average_montly_hours'] / 30, 1)
hr_df = hr_df.drop('average_montly_hours', axis=1)
print(hr_df.head())
```
9. 将日工作时长分5段进行等频离散化,使用离散后结果替换该列数据,统计各区间频次:
```python
hr_df['daily_hours_bins'] = pd.qcut(hr_df['average_daily_hours'], 5)
result_df = hr_df['daily_hours_bins'].value_counts()
print(result_df)
```
10. 对工作类别进行哑变量(独热编码)处理:
```python
dummies_df = pd.get_dummies(hr_df['Department'])
hr_df = pd.concat([hr_df, dummies_df], axis=1)
print(hr_df.head())
```
阅读全文