Pandas

作者: 爱修仙的道友 | 来源:发表于2019-04-20 00:57 被阅读0次
    1. PANDAS
      1.1 PANDAS介绍
      它是python数据分析方向的一个基石库,基于Numpy 来做数据分析(传统的数据分析工具),数据处理效率高
      1.1 常用文件格式

      image.png
      1.2 PANDAS基本数据结构
      Pandas 处理以下三个数据结构:
      Ø 系列(Series) 一维
      Ø 数据帧(DataFrame) 二维
      Ø 面板(Panel) 三维 (数据帧按时间维度排列)
    2. 数据处理
      2.1 基本使用

    import numpy as np
    import pandas as pd
    data    ={'animal':['cat' , 'cat' , 'snake' , 'dog' , 'dog' , 'cat' , 'snake' , 'cat', 'dog' , 'dog' ],
           'age':[2.5, 3, 0.5, np.nan, 5, 2, 4.5, np.nan, 7, 3],
           'visits':[1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
           'priority':['yes', 'yes', 'no',  'yes', 'no',    'no',   'no',   'yes', 'no',    'no']}
    labels = ['a', 'b', 'c',    'd', 'e', 'f',  'g', 'h', 'i', 'j']
    df = pd.DataFrame(data, index=labels)
    
    image.png

    2.2 索引

    • 简单索引
    import numpy as np
    import pandas as pd
    
    # 以字典作为数据类型创建Series对象
    s = pd.Series({'a':0,'b':1.,'c':2.},index=["a","b","c"])
    print(s.values)
    print(s.index)
    print(s['a'])
    print(s[['a','b']])
    print(s[:2])
    
    • 原始索引
      原始索引就是类 list 的索引方式,当索引对象是切片时就是行索引。
    df[1:3]
    
    image.png

    当索引对象是 list 时就是列索引。

    df[['age', 'animal']] 或 df[[0,1]]
    
    image.png
    • 位置索引
    df.iloc[0:2, 0:2]
    
    image.png
    • 标签索引
      loc 与 iloc 的主要区别就是索引要用标签不能用序号。
    df.loc[['a',    'b'],   ['animal',  'age']]
    
    image.png
    • 条件索引
    df[(df['animal']    ==  'cat')  &   (df['age']  <   3)]
    
    image.png

    2.3 缺失数据/异常数据处理

    • 找到缺失值
    df[df['age'].isnull()]
    
    image.png
    • 填充缺失值
    df['age'].fillna(0, inplace=True)
    
    
    image.png
    • 将字符值替换成布尔值

    2.4 可视化数据
    下面的示例加载了一个包含加利福尼亚州住房数据的csv文件。请运行以下单元格以加载数据,并创建特征定义:

    california_housing_dataframe = pd.read_csv("california_housing_train.csv", sep=",")
    california_housing_dataframe.describe()
    
    
              longitude      latitude  ...  median_income  median_house_value
    count  17000.000000  17000.000000  ...   17000.000000        17000.000000
    mean    -119.562108     35.625225  ...       3.883578       207300.912353
    std        2.005166      2.137340  ...       1.908157       115983.764387
    min     -124.350000     32.540000  ...       0.499900        14999.000000
    25%     -121.790000     33.930000  ...       2.566375       119400.000000
    50%     -118.490000     34.250000  ...       3.544600       180400.000000
    75%     -118.000000     37.720000  ...       4.767000       265000.000000
    max     -114.310000     41.950000  ...      15.000100       500001.000000
    

    示例使用 DataFrame.describe 来显示关于 DataFrame 的有趣统计信息。
    另一个实用函数是 DataFrame.head,它显示 DataFrame 的前几个记录:

    california_housing_dataframe.head(5)
    
    
       longitude  latitude  ...  median_income  median_house_value
    0    -114.31     34.19  ...         1.4936             66900.0
    1    -114.47     34.40  ...         1.8200             80100.0
    2    -114.56     33.69  ...         1.6509             85700.0
    3    -114.57     33.64  ...         3.1917             73400.0
    4    -114.57     33.57  ...         1.9250             65500.0
    

    2.5 结构化查询数据
    http://pandas.pydata.org/pandas-docs/stable/merging.html
    http://pandas.pydata.org/pandas-docs/stable/io.html#sql-queries
    2.6 序列化和IO
    http://pandas.pydata.org/pandas-docs/stable/io.html
    2.7 pandas cheat sheet
    https://www.datacamp.com/community/blog/python-pandas-cheat-sheet

    相关文章

      网友评论

          本文标题:Pandas

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