• pandas之series


    Series创建方式

    1. 列表创建
    2. 字典创建
    3. 其他创建
    4. 建议存储同一类型数据
    # 列表创建
    a = pd.Series([2,3,4,5,6],index=[1,2,3,4,5])
    # 索引就是字典的键
    d = pd.Series({
        'name':'张三',
        'age': 18,
        'gender': True
    })
    # 标量创建
    pd.Series(5)
    pd.Series(5,index=[1,2,3,4,5])
    # numpy函数创建
    pd.Series(
        np.arange(4),
        index=np.arange(9,5,-1)
    )
    

    series的name,index

    x = pd.Series(
        np.arange(4),
        index=np.arange(9,5,-1),
        name='pandas测试'
    )
    x.name = 'pandas名称'
    x.index.name = '索引名称'
    

    series的查询方法

    查询
    S.dtypes:Series整体的数据类型
    S.shape:Series的形状(每个维度的值用元组表示)
    len(S):Series里面的元素个数部分同上
    S.count():Series里面非空的元素个数
    S.value_counts():Series里面非空元素出现的次输,自动降序
    S.unique():Series不重复的元素
    S.sort_values(ascending=False)

    查询值和索引
    一个Series数据是由2个ndarray(相当于列表)数组组成地 索引&值
    查询值

    • 根据索引查询值
    • 索引查询
    • 切片查询

    根据条件反查索引

    • 布尔查询
    class1 = pd.Series([95,25,59,90,61], index=['ming','hua','hong','huang','hui'])
    

      

    # 查询值
    class1.values
    
    # 查询索引,顶层索引是数组array
    class1.index
    class1.index.values
    class1.index.values[0]
    
    # 查询单值
    class1.hong
    class1[2] #自定义索引
    class1['hong'] #默认索引
    
    # 查询多值
    class1[['hong','hui']]
    class1[[1,4]]
    
    # 切片查询
    class1[:2]  #默认索引,前包后不包
    class1['hong':'hui'] #自定义索引没有顺序,难以确定索引前后的值,都包括
    
    # 布尔查询,不及格学生的姓名
    class1[[False,True,True,False,False]]  #条件自己生成
    class1<60 
    class1[class1<60]   #调用生成的查询条件
    

    修改索引&值

    pd_rename = class1.rename({'ming':'小明'}) # 没有修改原来的值,增加了新的dtype并更改索引名字
    class1.index.values[0]='aaaa'  #修改了原来的索引
    
    class1['hua']=15
    class1[['ming','hua']] = [98,12]
    

      

    Series数据操作

    e = pd.Series([3,5,1,8,4,2])
    # 查询
    e[1] # 索引查询
    e[[1,3,4]]
    e[1:3]
    e[e<5]
    e.index
    e.values
    # 修改
    e[4] = 40
    # 增加
    e[6]=100
    e['name'] = '张三'  # 数据类型变为object,不同数据类型强制统一的时候,只能保存占用内存最大的数据类型(bool值有差异)
    # 删除,删除功能等同于查询数据时跳过被删除数据
    e.drop('name',inplace=True)
    

      

      

      

    本文为原创文章,转载请标明出处
  • 相关阅读:
    互斥锁属性
    Linux线程属性总结
    Linux 线程调度与优先级
    [置顶] 自旋锁和互斥锁的区别
    C语言中的未初始化变量的值
    在液晶屏里显示浮点数的方法 (sprintf 的妙用)
    消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例
    在链表尾部添加数据
    Android 之 Matrix(转)
    Android退出应用最优雅的方式(改进版)
  • 原文地址:https://www.cnblogs.com/harden13/p/12972398.html
Copyright © 2020-2023  润新知