python豆瓣TOP250数据分析

接上一篇博客,从豆瓣爬取到数据:https://blog.csdn.net/weixin_45681381/article/details/119173749?spm=1001.2014.3001.5501

一.将excel的数据转化为csv数据

import pandas as pd
ex = pd.read_excel('豆瓣Top250.xls', 'Sheet1', index_col=0)
ex.to_csv("豆瓣Top250.csv", encoding="utf-8")

遇到的问题,需要在第二行代码中增加参数index_col=0,不然会在导出的csv最右边多出一列。

二. 预览一下数据,看有没有问题

import pandas as pda
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams['font.family'] = 'SimHei'
mpl.rcParams['axes.unicode_minus'] = False
mpl.rcParams['font.size'] = 15
df = pd.read_csv('豆瓣Top250.csv')
display(df)

在这里插入图片描述

三.对数据可视化

1.电影评分

df['电影评分'] = df['电影评分'].str.rstrip('分')
df['电影评分'] = df['电影评分'].astype(np.float64)
score = df['电影评分'].value_counts().sort_index()

plt.figure(figsize=(8, 5))
score.plot(kind='bar', color='orange', width=0.7)
plt.xlabel('豆瓣电影TOP250')
plt.ylabel('count')
plt.title('电影评分数量柱状图')

在这里插入图片描述

2.制片国家的上榜数排名情况

df_country = df['制片国家'].str.split(' ',expand = True)
ct1 = df_country.apply(pd.value_counts).fillna('0')
ct1 = ct1.astype(np.int64)
ct1['count'] = ct1.sum(axis = 1)
ct1.sort_values('count', ascending = False, inplace = True)
ct1['count'].plot.bar(figsize = (12,5), color = 'royalblue', legend = True, width = 0.6)

在这里插入图片描述

3.上榜导演(前10)

df_director = df['导演'].str.split(' / ', expand=True)
drt1 = df_director.apply(pd.value_counts).fillna('0')
drt1 = drt1.astype(np.int64)
drt1['count'] = drt1.sum(axis=1)
drt1.sort_values('count', ascending=False, inplace=True)
drt1.drop([0, 1], axis=1, inplace=True)
drt1.index.name = '导演'
display(drt1[:10])

在这里插入图片描述

  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值