python大数据挖掘系列之基础知识入门(numpy、panda

2019-03-05  本文已影响0人  沫明

数据分析的模块有哪些:

  1. numpy 高效处理数据,提供数组支持,很多模块都依赖它,比如pandas,scipy,matplotlib都依赖他,所以这个模块都是基础。所以必须先安装numpy。
  2. pandas 主要用于进行数据的采集与分析
  3. scipy 主要进行数值计算。同时支持矩阵运算,并提供了很多高等数据处理功能,比如积分,微分方程求样等。
  4. matplotlib 作图模块,结合其他数据分析模块,解决可视化问题
  5. statsmodels 这个模块主要用于统计分析
  6. Gensim 这个模块主要用于文本挖掘
  7. sklearn,keras 前者机器学习,后者深度学习。

下面就说说这些模块的基础使用。

numpy模块安装与使用

安装:
下载地址是:http://www.lfd.uci.edu/~gohlke/pythonlibs/
我这里下载的包是1.11.3版本,地址是:http://www.lfd.uci.edu/~gohlke/pythonlibs/f9r7rmd8/numpy-1.11.3+mkl-cp35-cp35m-win_amd64.whl
下载好后,使用pip install "numpy-1.11.3+mkl-cp35-cp35m-win_amd64.whl"
安装的numpy版本一定要是带mkl版本的,这样能够更好支持numpy

numpy使用

'''
1.numpy 高效处理数据,提供数组支持,很多模块都依赖它,比如pandas,scipy,matplotlib都依赖他,所以这个模块都是基础。所以必须先安装numpy。
2.pandas 主要用于进行数据的采集与分析
3.scipy 主要进行数值计算。同时支持矩阵运算,并提供了很多高等数据处理功能,比如积分,微分方程求样等。
4.matplotlib 作图模块,结合其他数据分析模块,解决可视化问题
5.statsmodels 这个模块主要用于统计分析
6.Gensim 这个模块主要用于文本挖掘
7.sklearn,keras 前者机器学习,后者深度学习。

    '''
    
    import numpy
    
    x=numpy.array([11,22,33,4,5,6,7,])  #创建一维数组  array数组、阵列
    print(x)
    '''
    [11 22 33  4  5  6  7]
    '''
    
    x2=numpy.array([['asfas','asdfsdf','dfdf',11],['1iojasd','123',989012],["jhyfsdaeku","jhgsda"]])    #创建二维数组,注意是([])
    print(x2)
    '''
    [list(['asfas', 'asdfsdf', 'dfdf', 11]) list(['1iojasd', '123', 989012]) list(['jhyfsdaeku', 'jhgsda'])]
    '''
    
    x.sort()   #排序,没有返回值的,修改原处的值,这里等于修改了X
    print(x)
    x.max()    # 最大值,对二维数组都管用
    print(x.max() )
    x.min()    # 最小值,对二维数组都管用
    print(x.min())
    x1=x[1:3]   # 取区间,和python的列表没有区别
    print(x1)
    '''
    [ 4  5  6  7 11 22 33]
    33
    4
    [5 6]
    '''
    
    
    data = numpy.random.random_integers(10,20,10)   #生成整形随机数
    # numpy.random.random_integers(最小值,最大值,个数)  获取的是整数
    print(data)
    '''
    [19 10 20 10 10 20 19 17 13 11]
    '''
    
    data1 = numpy.random.normal(10,20,4)   # 生成浮点型且是正负数的随机数
    #正态随机数  numpy.random.normal(均值,偏离值,个数)  偏离值决定了每个数之间的差 ,当偏离值大于开始值的时候,那么会产生负数的。
    print(data1)
    '''
    [23.56606939 30.49792155 28.06999632 19.60559134]
    '''

pandas 使用

    import pandas
    a=pandas.Series([1,2,33,44])  # 等于一维数组
    print(a)
    b = pandas.DataFrame([[1,2,33,4],["sdaf","dsaf","18hd"],[1463],['QWQ']])    #二维数组
    print(b)
    '''
          0     1     2    3
    0     1     2    33  4.0
    1  sdaf  dsaf  18hd  NaN
    2  1463  None  None  NaN
    3   QWQ  None  None  NaN
    '''
    
    print(b.head())  # 默认取头部前5行,可以看源码得知
    '''
          0     1     2    3
    0     1     2    33  4.0
    1  sdaf  dsaf  18hd  NaN
    2  1463  None  None  NaN
    3   QWQ  None  None  NaN
    '''
    print(b.head(2))  # 直接传入参数,如我写的那样
    '''
          0     1     2    3
    0     1     2    33  4.0
    1  sdaf  dsaf  18hd  NaN
    '''
    print(b.tail())   # 默认取尾部前后5行
    '''
          0     1     2    3
    0     1     2    33  4.0
    1  sdaf  dsaf  18hd  NaN
    2  1463  None  None  NaN
    3   QWQ  None  None  NaN
    '''
    print(b.tail(1))     # 直接传入参数,如我写的那样
    '''
         0     1     2   3
    3  QWQ  None  None NaN
    '''
    
    
    print(b.describe())#显示统计数据信息
    '''
             3      # 3表示这个二维数组总共多少个元素
    count  1.0      # 总数
    mean   4.0      # 平均数
    std    NaN      # 标准数
    min    4.0      # 最小数
    25%    4.0      # 分位数
    50%    4.0      # 分位数
    75%    4.0      # 分位数
    max    4.0      # 最大值
    '''
    
    
    print(b.T)  #转置:行变列,列变行
    '''
        0     1     2     3
    0   1  sdaf  1463   QWQ
    1   2  dsaf  None  None
    2  33  18hd  None  None
    3   4   NaN   NaN   NaN
    '''

通过pandas导入数据

pandas支持多种输入格式,我这里就简单罗列日常生活最常用的几种,对于更多的输入方式可以查看源码后者官网

CSV文件

csv文件导入后显示输出的话,是按照csv文件默认的行输出的,有多少列就输出多少列,比如我有五列数据,那么它就在prinit输出结果的时候,就显示五列

    csv_data = pandas.read_csv('F:\Learnning\CSDN-python大数据\hexun.csv')
    print(csv_data)
excel表格

依赖于xlrd模块,请安装它。
老样子,原滋原味的输出显示excel本来的结果,只不过在每一行的开头加上了一个行数

    excel_data = pandas.read_excel('F:\Learnning\CSDN-python大数据\cxla.xls')
    print(excel_data)
读取SQL

依赖于PyMySQL,所以需要安装它。pandas把sql作为输入的时候,需要制定两个参数,第一个是sql语句,第二个是sql连接实例。

    conn=pymysql.connect(host="127.0.0.1",user="root",passwd="root",db="test")
    sql="select * from fortest"
    e=pda.read_sql(sql,conn)
读取HTML

依赖于lxml模块,请安装它。
对于HTTPS的网页,依赖于BeautifulSoup4,html5lib模块。
读取HTML只会读取HTML里的表格,也就是只读取<table>标签包裹的内容.
显示的是时候是通过python的列表展示,同时添加了行与列的标识

    html_data = pandas.read_html('F:\Learnning\CSDN-python大数据\shitman.html')   # 读取本地html文件。
    html_from_online = pandas.read_html('https://book.douban.com/')  # 读取互联网的html文件
    print(html_data)
    print('html_from_online')
读取txt文件

输出显示的时候同时添加了行与列的标识

    text_data = pandas.read_table('F:\Learnning\CSDN-python大数据\dforsay.txt')
    print(text_data)
上一篇下一篇

猜你喜欢

热点阅读