• 初探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
  • 相关阅读:
    Flutter form 的表单 input
    FloatingActionButton 实现类似 闲鱼 App 底部导航凸起按钮
    Flutter 中的常见的按钮组件 以及自 定义按钮组件
    Drawer 侧边栏、以及侧边栏内 容布局
    AppBar 自定义顶部导航按钮 图标、颜色 以及 TabBar 定义顶部 Tab 切换 通过TabController 定义TabBar
    清空路由 路由替换 返回到根路由
    应对ubuntu linux图形界面卡住的方法
    [转] 一块赚零花钱
    [转]在树莓派上搭建LAMP服务
    ssh保持连接
  • 原文地址:https://www.cnblogs.com/LRainner/p/13232471.html
Copyright © 2020-2023  润新知