zoukankan      html  css  js  c++  java
  • numpy、pandas、matplotlib的简单用法介绍

    一。 数组要比列表效率高很多
        numpy高效的处理数据,提供数组的支持,python默认没有数组。pandas、scipy、matplotlib都依赖numpy。
        pandas主要用于数据挖掘,探索,分析
        matplotlib用于作图,可视化
        scipy进行数值计算,如:积分,傅里叶变换,微积分
        statsmodels用于统计分析
        Gensim用于文本挖掘
        sklearn机器学习, keras深度学习
    二。
        numpy和mkl 下载安装
        pandas和maiplotlib网络安装
        scipy 下载安装
        statsmodels和Gensim网络安装
    三numpy的操作。
        import numpy
        # 创建数一维数组组
        # numpy.array([元素1,元素2,......元素n])
        x = numpy.array(['a', '9', '8', '1'])
        # 创建二维数组格式
        # numpy.array([[元素1,元素2,......元素n],[元素1,元素2,......元素n],[元素1,元素2,......元素n]])
        y = numpy.array([[3,5,7],[9,2,6],[5,3,0]])
        # 排序
        x.sort()
        y.sort()
        # 取最大值
        y1 = y.max()
        # 取最小值
        y2 = y.main()
        # 切片
    四pandas的操作。
        import pandas as pda
        # 使用pandas生成数据
        # Series代表某一串数据 index指定行索引名称,Series索引默认从零开始
        # DataFrame代表行列整合出来的数据框,columns 指定列名
        a = pda.Series([8, 9, 2, 1], index=['one', 'two', 'three', 'four'])
        # 以列表的格式创建数据框
        b = pda.DataFrame([[5,6,2,3],[3,5,1,4],[7,9,3,5]], columns=['one', 'two', 'three', 'four'],index=['one', 'two', 'three'])
        # 以字典的格式创建数据框
        c = pda.DataFrame({
            'one':4, # 会自动补全
            'two':[6,2,3],
            'three':list(str(982))
        })
        # b.head(行数)# 默认取前5行头
        # b.tail(行数)# 默认取后5行尾
        # b.describe() 统计数据的情况  count mean std min 25% max
        e = b.head()
        f = b.describe()
        # 数据的转置,及行变成列,列变成行
        g = b.T
    五python数据的导入
        import pandas as pad
        f = open('d:/大.csv','rb')
        # 导入csv
        a = pad.read_csv(f, encoding='python')
        # 显示多少行多少列
        a.shape()
        a.values[0][2] #第一行第三列
        # 描述csv数据
        b = a.describe()
        # 排序
        c = a.sort_values()
        # 导入excel
        d = pad.read_excel('d:/大.xls')
        print(d)
        print(d.describe())
        # 导入mysql
        import pymysql
        conn = pymysql.connect(host='localhost', user='root', passwd='root', db='')
        sql = 'select * from mydb'
        e = pad.read_sql(sql, conn)
        # 导入html表格数据 需要先安装 html5lib和bs4
        g = pad.read_html('https://book.douban.com/subject/30258976/?icn=index-editionrecommend')
        # 导入文本数据
        h = pad.read_table('d:/lianjie.txt','rb', engine='python')
        print(h.describe())
    六matplotlib的使用
        # 折线图/散点图用plot
        # 直方图用hist
        import matplotlib.pylab as pyl
        import numpy as npy
        x = [1,2,4,6,8,9]
        y = [5,6,7,8,9,0]
        pyl.plot(x, y) #plot(x轴数据,y轴数据,展现形式)
        # o散点图,默认是直线 c cyan青色 r red红色 m magente品红色 g green绿色 b blue蓝色 y yellow黄色 w white白色
        # -直线  --虚线  -. -.形式  :细小虚线
        # s方形 h六角形  *星星  + 加号  x x形式 d菱形 p五角星
        pyl.plot(x, y, 'D')
        pyl.title('name') #名称
        pyl.xlabel('xname') #x轴名称
        pyl.ylabel('yname') #y轴名称
        pyl.xlim(0,20) #设置x轴的范围
        pyl.ylim(2,22) #设置y轴的范围
        pyl.show()
        # 随机数的生成
        data = npy.random.random_integers(1,20,100) #(最小值,最大值,个数)
        # 生成具有正态分布的随机数
        data2 = npy.random.normal(10.0, 1.0, 10000) #(均值,西格玛,个数)
        # 直方图hist
        pyl.hist(data)
        pyl.hist(data2)
        # 设置直方图的上限下限
        sty = npy.arange(2,20,2) #步长也表示直方图的宽度
        pyl.hist(data, sty, histtype='stepfilled') # 去除轮廓
        # 子图的绘制和使用
        pyl.subplot(2, 2, 2) # (行,列,当前区域)
        x1 = [2,3,5,8,6,7]
        y1 = [2,3,5,9,6,7]
        pyl.plot(x1, y1)
        pyl.subplot(2, 2, 1) # (行,列,当前区域)
        x1 = [2,3,5,9,6,7]
        y1 = [2,3,5,9,6,7]
        pyl.plot(x1, y1)
        pyl.subplot(2, 1, 2) # (行,列,当前区域)
        x1 = [2,3,5,9,6,7]
        y1 = [2,3,9,5,6,7]
        pyl.plot(x1, y1)
        pyl.show()

    来自:https://www.cnblogs.com/lianggege123/articles/9657831.html

  • 相关阅读:
    P1439 【模板】最长公共子序列
    DP,入门???
    关于Eclipse在servlet中连接数据库时出现驱动加载失败的解决
    JSP学习(JavaBean)
    HTML随笔3
    CSS随笔3
    计算机网络随笔
    基本命令行操作1(java编译)
    Javascript随笔2(JQuery)
    Javascrip随笔1
  • 原文地址:https://www.cnblogs.com/yoyowin/p/12023480.html
Copyright © 2011-2022 走看看