• python学习 —— seaborn、matplotlib、pandas、numpy package的混合使用


      这里使用了Titanic Machine learning数据集,然后通过Seaborn的函数来拟合和绘制回归线,matplotlib进行可视化

      先来一个简单的测试:

    import pandas as pd
    from matplotlib import pyplot as plt
    import seaborn as sns
    
    df = pd.read_csv('../test.csv', index_col=0)  # 读取csv表格, index_col=0表示第0列为id
    print(df.head(n=5))  # 打印前5行的数据
    
    # sns.lmplot(x='Age', y='Fare', data=df)
    sns.jointplot(x='Age', y='Fare', data=df)
    
    # 去掉以下两句代码可发现原点不在最左下角
    plt.ylim(0, None)
    plt.xlim(0, None)
    plt.show()  # 可视化

      运行结果:

      sns.lmplot(x='Age', y='Fare', data=df):

       使用sns.jointplot(x='Age', y='Fare', data=df) # 默认为条形图:

      sns.jointplot(x='Age', y='Fare', data=df, kind='kde',) # 上右两边的就变为了条形:

       我发现python3貌似不能用 pd + plt 实现堆积柱状图:

    import pandas as pd
    from matplotlib import pyplot as plt
    
    df = pd.read_csv('../train.csv', index_col=0)  # 读取csv表格, index_col=0表示第0列为id
    print(df.describe())
    
    survived_0 = df.Age[df.Survived == 0].value_counts()
    survived_1 = df.Age[df.Survived == 1].value_counts()
    
    print(survived_0)
    print(survived_1)
    
    df = pd.DataFrame({'Death': survived_0, 'Survival': survived_1})
    df.plot(kind='bar',) # 条形
    
    plt.title('View by Age')
    plt.xlabel('Age')
    plt.ylabel('Density')
    
    plt.show()
    

      运行结果:

      将df.plot(kind='bar')改为

    df.plot(kind='kde',) # 曲线
    

      运行结果:

      这样也不错:

    g = sns.jointplot(x='Survived', y='Fare', data=df, kind='kde',)
    
    g.plot_joint(plt.scatter, c="w", s=30, linewidth=1, marker="+")
    g.ax_joint.collections[0].set_alpha(0)
    

      运行结果:

      sns.load_dataset()是调用官网github网站中的数据集或者安装包时下载到本地的数据集:

      不出我意料的有titanic,于是使用之:

    sns.set(style="ticks", color_codes=True)
    titanic = sns.load_dataset('titanic', cache=False)  # 看底层代码,设置cache为False就不用联网去找了
    g = sns.pairplot(titanic, hue="age",)   # hue不能传入'survivde' 记得都是小写
    
    plt.show()
    

      数据较多 运行有点慢、有点卡 = =:

      未完待续。。。

  • 相关阅读:
    ASP.NET MVC Model元数据(三)
    ASP.NET MVC Model元数据(二)
    ASP.NET MVC Model元数据(一)
    腾讯云服务器linux centOS7.4 搭建ftp服务器 vsftpd
    腾讯云服务器linux Ubuntu操作系统搭建ftp服务器vsftpd
    linux设置禁止ping
    linux 查询管道过滤,带上标题字段
    安装php xdebug调试工具及性能分析工具webgrind for windows
    linux增加硬盘 磁盘分区格式化及挂载
    virtualBox linux操作系统centos 挂载光盘
  • 原文地址:https://www.cnblogs.com/darkchii/p/8850517.html
Copyright © 2020-2023  润新知