用pandas分析百万电影数据
Posted Royecode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用pandas分析百万电影数据相关的知识,希望对你有一定的参考价值。
用pandas分析电影数据
Lift is short, use Python.
用Python做数据分析,pandas是Python数据分析的重要包,其他重要的包:numpy、matplotlib .
安装pandas(Linux, Mac, Windows皆同):
pip install pandas
电影数据来源:http://grouplens.org/datasets/movielens/
下载数据文件解压,包含如下4个文件:
- users.dat 用户数据
- movies.dat 电影数据
- ratings.dat 评分数据
- README 文件解释
查看README文件,可知源数据文件的格式:
- users.dat (UserID::Gender::Age::Occupation::Zip-code)
- movies.dat (MovieID::Title::Genres)
- ratings.dat (UserID::MovieID::Rating::Timestamp)
特别解释:Occupation用户职业,Zip-code邮编, Timestamp时间戳, Genres电影类型(更多解释可以查看README文件).
文件中各每条数据的分割符是 ::
环境:
- OS:Windows
- Language:Python3.4
- 编辑器:Jupyter
用pandas读取数据.
导入必要的头文件:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
读取数据,先定义字段名,因为源数据中无字段名,只有用’::’分割的每条数据.
user_names = ['user_id', 'gender', 'age', 'occupation', 'zip'] #用户表的数据字段名
读取数据,注意源文件的地址.
users = pd.read_table('C:\\\\Users\\\\Administrator\\\\Downloads\\\\ml-1m\\\\users.dat', sep='::', header=None, names=user_names)
D:\\Anaconda3\\lib\\site-packages\\ipykernel\\__main__.py:1: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators; you can avoid this warning by specifying engine='python'.
if __name__ == '__main__':
上面有个警告,可以不管,即:加载数据是用的python engine 而不是 c engine.(更多请google)
查看有多少个数据.
前5行数据.
print(len(users))
users.head()
6040
user_id | gender | age | occupation | zip | |
---|---|---|---|---|---|
0 | 1 | F | 1 | 10 | 48067 |
1 | 2 | M | 56 | 16 | 70072 |
2 | 3 | M | 25 | 15 | 55117 |
3 | 4 | M | 45 | 7 | 02460 |
4 | 5 | M | 25 | 20 | 55455 |
以上是关于用pandas分析百万电影数据的主要内容,如果未能解决你的问题,请参考以下文章