数据描述:
u.user是评分者的基本身份信息
文件内容示例如下:五列数据分别表示用户编号、年龄、性别、职业、zip code
u.data是评分者对电影评分的信息
文件内容示例如下:四列数据分别表示用户编号、电影编号、评分、时间戳
源代码:
import pandas as pd
import numpy as np
#从原始文件中读入数据
user = ['user id','age','gender','occupation','zip code']
user_info = pd.read_csv('ml-100k/u.user',sep='|',names=user)
rating = ['user id','item id','rating','timestamp']
rating_info = pd.read_csv('ml-100k/u.data',sep='\t',names=rating)
#从读入文件中提取所需信息 提高效率
user_df = pd.DataFrame()
user_df['user id']=user_info['user id']
user_df['gender']=user_info['gender']
rating_df = pd.DataFrame()
rating_df['user id']=rating_info['user id']
rating_df['rating']=rating_info['rating']
#合并
rating_df=pd.merge(user_df,rating_df)
#求男女电影评分的标准差
result=rating_df.groupby('gender').rating.apply(np.std)