B站14天数据分析笔记7次课笔记

Python数据分析-matplotlib

导入

import warnings
warnings.filterwarnings('ignore')
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
df=pd.read_excel('movie_data3.xlsx')
df.head()

请添加图片描述

双轴图的画法

import matplotlib.mlab as mlab
fig = plt.figure(figsize=(10,8))
ax1 = fig.add_subplot(111) #第一个子图
n,bins,patches = ax1.hist(df['评分'],bins=100,color='m') #直方图的返回值
ax1.set_ylabel('电影数量',fontsize=15)
ax1.set_xlabel('评分',fontsize=15)
ax1.set_title('频率分布图',fontsize=15)
print(bins)
from scipy.stats import norm
y = norm.pdf(bins, df['评分'].mean(),df['评分'].std()) # mu 均值 sigma标准差 正态概率密度曲线
ax2=ax1.twinx() #相同的x 不同的y轴
ax2.plot(bins,y,'b--')
ax2.set_ylabel('概率分布',fontsize = 15)
plt.show()

请添加图片描述

5.电影时长和电影评分绘制散点图

两组数据构成地痞各坐标点 考察坐标的分布模式 用来比较聚合数据
plt.scatter(x,y,label=‘评分’,color=‘c’,marker=‘D’)
maker散点的属性

x=df['时长'][::100]
y=df['评分'][::100]
plt.figure(figsize=(10,6))
plt.scatter(x,y,label='评分',color='c',marker='D')
plt.title('电影时长与评分散点图',fontsize=20)
plt.xlabel('时长',fontsize=16)
plt.ylabel('评分',fontsize=16)
plt.legend()
plt.show()

请添加图片描述

6.地区的评分箱形图 盒须图

原属数据的特征 中位数 异常值等等

计算过程

  1. Q3上四位数 Q1下四位数 中位数
  2. Q3-Q1 箱子的高度
  3. 绘图 上下范围 以及中位数的横线
  4. 异常值:大于Q3的1.5倍的Q3-Q1 或者小于Q1
  5. 极端异常值 3倍

plt.box(x,notch,sym labels,whis)

whis异常值越大越宽松 比如2
flierprops 异常值的设定
patch_artist 箱体的参数

美国电影评分的箱线图

data=df[df.产地=='美国']['评分']
plt.figure(figsize=(10,6))
plt.boxplot(data,whis=2,patch_artist=True,boxprops={'color':'k','facecolor':'#9999ff'},flierprops={'marker':'o','markerfacecolor':'r','color':'k'})
plt.title('美国电影评分',fontsize=15,)
plt.show()

请添加图片描述

  • 坐标背景颜色
    plt.gca()
    ax.patch.set_facecolor(‘gray’)
  • 图像旋转vert

多组数据箱线图

data1=df[df.产地=='中国大陆']['评分']
data2=df[df.产地=='中国香港']['评分']
data3=df[df.产地=='英国']['评分']
data4=df[df.产地=='日本']['评分']
data5=df[df.产地=='法国']['评分']
plt.figure(figsize=(12,8))
plt.boxplot([data1,data2,data3,data4,data5],labels=['中国大陆','中国香港','英国','日本','法国'],whis=1.5,patch_artist=True,boxprops={'color':'k','facecolor':'#9999ff'},flierprops={'marker':'o','markerfacecolor':'r','color':'k'})
ax = plt.gca()
ax.patch.set_facecolor('gray')
ax.patch.set_alpha(0.3)
plt.show()

请添加图片描述

6.相关系数矩阵图-热力图

data = df[['投票人数','评分','时长']]
data

请添加图片描述

pandas本身封装了画图函数

各个属性的散点图 对角线上是分布图

%pylab inline
result = pd.plotting.scatter_matrix(data[::100], diagonal='hist',color='k',alpha=0.3,figsize=(10,10))

请添加图片描述

电影时长,投票人数 评分的相关系数矩阵 热力图

参数 vmax vin:颜色极值 annot:注释参数

import seaborn as sns
corr = data.corr()
corr = abs(corr)
fig = plt.figure(figsize=(10,8))
ax=fig.add_subplot()
ax = sns.heatmap(corr,vmax=1,vmin=0,annot=True,annot_kws={'size':13,'weight':'bold'},linewidth=0.05)
plt.xticks(fontsize=15)
plt.yticks(fontsize=15)
plt.show()

在这里插入图片描述

原文地址:https://www.cnblogs.com/most-silence/p/15495350.html