美文网首页
高效Python之Pandas

高效Python之Pandas

作者: bclz | 来源:发表于2019-11-20 16:41 被阅读0次

    api参考:https://pandas.pydata.org/pandas-docs/version/0.25/reference/index.html

    Pandas是python在统计中应用非常广的第三方库,也提供了很多简单易用的API,其主要有两大数据结构: \color{red}{Series}\color{red}{DataFrame}

    1. Series和DataFrame

    • Series实际上就是常用的list一种升级版本。一般来说,list索引都是类似1,2,3,4....这样的数组下标,series默认也是这样,但是它可以设置索引值。
      eg:
    #第一个参数data,第二个参数试自定义索引,不指定为1,2...n顺序
    #seriesEg=Series([1,2,1],index=['a','b','c'])
    # a    1
    # b    2
    # c    3
    # dtype: int64
    seriesEg=Series([1,2,1],['a','b','c'])
    print(seriesEg) 
    print(seriesEg['a'])
    

    很容易发现Series结构实际上就是一系列的k,v组成。

    • DataFrame可以看作是数据库行列或者是excel表行列结构的一种抽象.也可以看作是由Series组成的字典类型;
    
    dataFrameEg=DataFrame({"languageScore":[60,30,65],"mathScore":[93,96,92],"englishScore":[90,77,88]},index=["张飞","关羽","黄忠"])
    print(dataFrameEg)
    print(dataFrameEg["languageScore"])      #输出Series结构
    
    #     languageScore  mathScore  englishScore
    # 张飞             60         93            90
    # 关羽             30         96            77
    # 黄忠             65         92            88
    
    # 张飞    60
    # 关羽    30
    # 黄忠    65
    
    

    2. 数据操作

    主要涉及:

    • 类结构化文件(xls,csv等)的导入导出
    • DataFrame的操作(删除行列,重命名,去重,数据格式,空值处理(判断isnull,删除dropna,替代fillna))
    • apply的高级操作
    • 统计函数(describe()、max、min、var、std...)
    • 数据表合并(merge的inner,outer,left,right...)
      ------更多示例可以参考页头的官网,或者访问我的python_data-start

    3. pandasql操作

    import pandasql as psql
    import pandas as pd
    df1=pd.DataFrame({"name":["张三","李四","小明"],"rank":range(10,13)})
    print(df1)
    # locals() or globals() variable environment
    psqldf=lambda sql:psql.sqldf(sql,env=globals())
    print(psqldf("select * from df1 where name='张三' or name='李四'"))
    
    print(psql.sqldf("select rank from df1 ",env=locals()))
    

    相关文章

      网友评论

          本文标题:高效Python之Pandas

          本文链接:https://www.haomeiwen.com/subject/otjvictx.html