• 初探pandas——安装和了解pandas数据结构


    安装pandas

    通过python pip安装pandas

    pip install pandas
    

    pandas数据结构

    pandas常用数据结构包括:Series和DataFrame

    Series

    Series是一种一维的数组型对象,包含一个值序列(与numpy中的数据类型相似),数据标签(称为索引(index))。

    import pandas as pd
    
    # 创建Series对象
    obj=pd.Series([4,5,6,7])
    print(obj)
    
    0    4
    1    5
    2    6
    3    7
    dtype: int64
    

    左边为索引,右边为值,默认索引从0到n-1(n为数据长度),可以通过values属性和index属性分别获得Series对象的值和索引

    print(obj.values)
    
    array([4, 5, 6, 7], dtype=int64)
    
    print(obj.index)
    
    RangeIndex(start=0, stop=4, step=1)
    
    # 自定义索引序列
    obj2=pd.Series([4,5,6,7],index=['a','b','d','e'])
    print(obj2,'
    ')
    
    # 输出索引
    print(obj2.index)
    
    a    4
    b    5
    d    6
    e    7
    dtype: int64 
    
    Index(['a', 'b', 'd', 'e'], dtype='object')
    

    Series对象可以使用标签来进行索引

    # 输出索引为b的元素
    print(obj2['b'])
    
    # 输出索引为a,d,e的元素
    print('* '*10)
    print(obj2[['a','d','e']])
    
    5
    * * * * * * * * * * 
    a    4
    d    6
    e    7
    dtype: int64
    

    Series对象也能使用布尔值进行过滤

    # 输出值大于5的元素
    print(obj2[obj2>5])
    
    d    6
    e    7
    dtype: int64
    

    DataFrame

    DataFrame表示矩阵的数据表,包含已排序的列集合,每一列可以是不同的的值类型(数值、字符串、布尔值等)

    DataFrame既有行索引,也有列索引,可以被视为一个共享相同索引的Series的字典

    # 创建DataFrame对象
    data={'age':[18,18,18,20,20,20],'name':['a','b','c','aa','bb','cc'],'height':[180,180,180,182,182,182]}
    frame=pd.DataFrame(data)
    print(frame)
    
       age name  height
    0   18    a     180
    1   18    b     180
    2   18    c     180
    3   20   aa     182
    4   20   bb     182
    5   20   cc     182
    

    DataFrame也可以用columns参数指定列索引顺序排列

    frame=pd.DataFrame(data,columns=['name','age','height'])
    print(frame)
    
      name  age  height
    0    a   18     180
    1    b   18     180
    2    c   18     180
    3   aa   20     182
    4   bb   20     182
    5   cc   20     182
    

    如果传的列参数不在字典中,将会出现缺失值

    frame=pd.DataFrame(data,columns=['name','age','height','addition'])
    print(frame)
    print(frame.columns)
    
      name  age  height addition
    0    a   18     180      NaN
    1    b   18     180      NaN
    2    c   18     180      NaN
    3   aa   20     182      NaN
    4   bb   20     182      NaN
    5   cc   20     182      NaN
    Index(['name', 'age', 'height', 'addition'], dtype='object')
    

    DataFrame的一列可以按字典型标记或属性那样索引为Series

    frame=pd.DataFrame(data,columns=['name','age','height'])
    print(frame['name'])
    print(frame.age)
    
    0     a
    1     b
    2     c
    3    aa
    4    bb
    5    cc
    Name: name, dtype: object
    0    18
    1    18
    2    18
    3    20
    4    20
    5    20
    Name: age, dtype: int64
    

    行也可以通过位置或特殊属性loc进行索引

    frame=pd.DataFrame(data,columns=['name','age','height'])
    print(frame.loc[2])
    
    name        c
    age        18
    height    180
    Name: 2, dtype: object
  • 相关阅读:
    Eclipse正确导入第三方project
    面试的基础_01字符串反向操作
    一个简单的实现了智能虚拟女友—图灵机器人
    Notepad++去除代码行号的几种方法
    fastjson将bean转成字符串时首字母变小写问题
    2015第34周二能收发邮件但不能打开网页解决方法
    2015第34周一
    2015第33周日
    2015第33周六
    构建自己的顾问团
  • 原文地址:https://www.cnblogs.com/LRainner/p/13232471.html
Copyright © 2020-2023  润新知