• 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()
    

    在这里插入图片描述

  • 相关阅读:
    LeetCode 16 3sum closest
    LeetCode 15 3Sum
    LeetCode 14 Longest Common Prefix
    jQuery数组遍历
    jQuery DOM对象与jQuery对象转换
    jQuery选择器
    jQuery类和样式操作
    js节点操作
    js全选反选
    innerHTML和innerTEXT的区别
  • 原文地址:https://www.cnblogs.com/most-silence/p/15495350.html
Copyright © 2020-2023  润新知