python数据分析案例4:我们还是像以前一样喜欢音乐器材商品吗?

这里是南京财经大学的Mooc课程的个人学习笔记,课程网址是:https://www.icourse163.org/course/NJUE-1458311167,课程是免费的,老师讲的很好很认真,欢迎学习。


数据集
下载:
ratings_Musical_Instruments.csv

from datetime import datetime
import matplotlib.pyplot as plt
import pandas as pd

rnames = ['uid', 'pid', 'rating', 'timestamp']
df = pd.read_csv('ratings_Musical_Instruments.csv', header=None, names=rnames)
print(df.head(5))

python数据分析案例4:我们还是像以前一样喜欢音乐器材商品吗?_第1张图片


把时间戳转换为datetime类型

df['date'] = df['timestamp'].apply(datetime.fromtimestamp)
df = df.drop(['timestamp'], axis=1)
print(df.head(5))

python数据分析案例4:我们还是像以前一样喜欢音乐器材商品吗?_第2张图片


查看这么多年来人们对于音乐打分的平均分变化

# 设置索引为时间
df.index = df['date']
print(df['rating'].resample("Y").agg(['mean']))

python数据分析案例4:我们还是像以前一样喜欢音乐器材商品吗?_第3张图片

plt.figure(figsize=(8, 4), dpi=100)
plt.plot(df['rating'].resample("Y").agg(['mean']))
plt.show()

python数据分析案例4:我们还是像以前一样喜欢音乐器材商品吗?_第4张图片


查看不同月份人们评分的变化

plt.plot(df['rating'].groupby(df.index.month).agg(['mean']))
plt.show()

python数据分析案例4:我们还是像以前一样喜欢音乐器材商品吗?_第5张图片


按照年月分析评分变化

# 把时间索引按照M的频率生成
df = df.to_period(freq='M')
# 把数据按照月份分组
df = df['rating'].groupby(by=df.index).agg(['mean'])
# datetime的索引列不能直接作为plot的横轴,要转化为时间I戳
plt.plot(df.index.to_timestamp(), df['mean'])
plt.show()

python数据分析案例4:我们还是像以前一样喜欢音乐器材商品吗?_第6张图片


对于评分数量的考虑

# 把时间索引按照M的频率生成
df = df.to_period(freq='M')
# 把数据按照月份分组
df = df['rating'].groupby(by=df.index).agg(['mean', 'count'])

target = df['count'] > 200
df = df[target]

# datetime的索引列不能直接作为plot的横轴,要转化为时间I戳
plt.plot(df.index.to_timestamp(), df['mean'])
plt.ylim(3.8, 5)
plt.show()

python数据分析案例4:我们还是像以前一样喜欢音乐器材商品吗?_第7张图片


通过一张图,同时展现评分的人数和评分趋势

# 把时间索引按照M的频率生成
df = df.to_period(freq='M')
# 把数据按照月份分组
df = df['rating'].groupby(by=df.index).agg(['mean', 'count'])
plt.scatter(df.index.to_timestamp(),df['mean'], df['count'])
plt.show()

python数据分析案例4:我们还是像以前一样喜欢音乐器材商品吗?_第8张图片

你可能感兴趣的:(Python大数据分析,python,大数据,数据分析)