Series 是pandas两大数据结构中(DataFrame,Series)的一种。使用pandas 前需要将pandas 模块引入,因为Series和DataFrame用的次数非常多,所以将其引入本地命名空间中会更方便。

  1.  
    from pandas import Series, DataFrame
  2.  
    import pandas as pd

因此,一般在代码中看到pd.,都指的是pandas。

1.创建Series

Series的定义:Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。

Series对象本质上是一个NumPy的数组,因此NumPy的数组处理函数可以直接对Series进行处理。但是Series除了可以使用位置作为下标存取元素之外,还可以使用标签下标存取元素,这一点和字典相似。每个Series对象实际上都由两个数组组成:

index: 它是从NumPy数组继承的Index对象,保存标签信息。
values: 保存值的NumPy数组。

注意三点:

1. Series是一种类似于一维数组(数组:ndarray)的对象

2. 它的数据类型没有限制(各种NumPy数据类型)

3. 它有索引,把索引当做数据的标签(key)看待,这样就类似字典了(只是类似,实质上市数组)

4.Series同时具有数组和字典的功能,因此它也支持一些字典的方法

创建数组,例如:

  1.  
    In [1]:arr=[1,2,3,4] #创建数组
  2.  
     
  3.  
    In [2]:arr
  4.  
    Out[2]: [1, 2, 3, 4]

创建Series:

  1.  
    series_1=Series(arr)
  2.  
    series_1
  3.  
    Out[146]: 
  4.  
    0    1
  5.  
    1    2
  6.  
    2    3
  7.  
    3    4
  8.  
    dtype: int64
  9.  
    series_2=Series([1,2,3,4])
  10.  
    series_2
  11.  
    Out[148]: 
  12.  
    0    1
  13.  
    1    2
  14.  
    2    3
  15.  
    3    4
  16.  
    dtype: int64

创建包含多种数据类型的Series:

  1.  
    series_3=Series([1,2,'3',4,'a']) <span style="font-family: Arial, Helvetica, sans-serif;">#包含数字和字符串</span>
  2.  
    series_3
  3.  
    Out[150]: 
  4.  
    0    1
  5.  
    1    2
  6.  
    2    3
  7.  
    3    4
  8.  
    4    a
  9.  
    dtype: object #类型变成了字符串

2.Series索引

Series创建后会自动生成索引,默认从0开始

可以指定和修改索引

  1.  
    In [154]: series_4.index=['a','b','c']
  2.  
     
  3.  
    In [155]: series_4
  4.  
    Out[155]:
  5.  
    a 1
  6.  
    b 2
  7.  
    c 3

修改索引除了这里的直接修改还有一个reindex()方法。

3.Series增删改查

Series创建后可以对数据进行增删改查

3.1 增:

Series的add()方法是加法计算不是增加Series元素用的。

使用append连接其他Series

3.2删:

  1.  
    In [162]: series_4.drop('a')
  2.  
    Out[162]:
  3.  
    b 2
  4.  
    c 3
  5.  
    dtype: int64

3.3 改:

  1.  
    In [170]: series_4['a']=4
  2.  
     
  3.  
    In [171]: series_4
  4.  
    Out[171]:
  5.  
    a 4
  6.  
    b 2
  7.  
    c 3
  8.  
    dtype: int64

3.4 查:

通过索引查单值

  1.  
    In [172]: series_4['a']
  2.  
    Out[172]: 4

通过索引序列查多值:

  1.  
    series_4[['a','b']]
  2.  
    Out[174]:
  3.  
    a 4
  4.  
    b 2
  5.  
    dtype: int64

通过布尔类型索引筛选:

  1.  
    In [175]: series_4[series_4>2]
  2.  
    Out[175]:
  3.  
    a 4
  4.  
    c 3
  5.  
    dtype: int64

通过位置切片和标签切片查询数据:

  1.  
    series_4
  2.  
    Out[194]:
  3.  
    a 4
  4.  
    b 2
  5.  
    c 3
  6.  
    dtype: int64
  7.  
     
  8.  
    series_4[:2]
  9.  
    Out[195]:
  10.  
    a 4
  11.  
    b 2
  12.  
    dtype: int64
  13.  
     
  14.  
    series_4['a':'c']
  15.  
    Out[196]:
  16.  
    a 4
  17.  
    b 2
  18.  
    c 3
  19.  
    dtype: int64

4.通过字典创建Series

  1.  
    series_5=Series({'a':1,'b':2,'c':3})
  2.  
     
  3.  
    series_5
  4.  
    Out[201]:
  5.  
    a 1
  6.  
    b 2
  7.  
    c 3
  8.  
    dtype: int64

Series 入门(创建和增删改查)的更多相关文章

  1. Android(java)学习笔记245:ContentProvider使用(银行数据库创建和增删改查的案例)

    1. Android的四大组件: (1)Activity  用户交互的UI界面 (2)Service  后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...

  2. Android(java)学习笔记189:ContentProvider使用(银行数据库创建和增删改查的案例)

    1. Android的四大组件: (1)Activity  用户交互的UI界面 (2)Service  后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...

  3. Hibernate入门案例及增删改查

    一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student { private Integer sid; private I ...

  4. java springboot整合zookeeper入门教程(增删改查)

    java springboot整合zookeeper增删改查入门教程 zookeeper的安装与集群搭建参考:https://www.cnblogs.com/zwcry/p/10272506.html ...

  5. Oracle学习总结_day01_day02_表的创建_增删改查_约束

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 更新: SELECT * FROM (SELECT R ...

  6. yii2-basic后台管理功能开发之二:创建CRUD增删改查

    昨天实现了后台模板的嵌套,今天我们可以试着创建CRUD模型啦 刚开始的应该都是“套用”,不再打算细说,只把关键的地方指出来. CRUD即数据库增删改查操作.可以理解为yii2为我们做了一个组件,来实现 ...

  7. MVC 入门 自动生成 增删改查所有功能

    MVC现在版本已经是5了   EF现在最新的应该是6.0.2了 开发工具是 Visual Studio2013 数据库是 SQL Server 2012 这些需要.NET Framework4.5 的 ...

  8. MyBatis入门案例、增删改查

    一.MyBatis入门案例: ①:引入jar包 ②:创建实体类 Dept,并进行封装 ③ 在Src下创建大配置mybatis-config.xml <?xml version="1.0 ...

  9. mysql-3 数据表的创建、增删改查

    1.创建数据表 通用语法:CREATE TABLE table_name (column_name column_type); CREATE TABLE IF NOT EXISTS `csj_tbl` ...

随机推荐

  1. Python - 经典程序示例

    列表排序 def que6(): # 6.输入三个整数x, y, z,形成一个列表,请把这n个数由小到大输出. # 程序分析:列表有sort方法,所以把他们组成列表即可. li = np.random ...

  2. html/css实现阴影蒙版覆盖原网页并显示浮框的功能

    在提供用户修改资料/密码等功能的时候,往往希望给用户这样的使用体验,在不跳转,不弹框的情况下完成对这些功能的操作. 这可以通过一种效果来实现,在同一页面下阴影覆盖整个当前网页并使得原网页中元素无法使用 ...

  3. BZOJ.1758.[WC2010]重建计划(分数规划 点分治 单调队列/长链剖分 线段树)

    题目链接 BZOJ 洛谷 点分治 单调队列: 二分答案,然后判断是否存在一条长度在\([L,R]\)的路径满足权值和非负.可以点分治. 对于(距当前根节点)深度为\(d\)的一条路径,可以用其它子树深 ...

  4. 潭州课堂25班:Ph201805201 第七课:控制流程 (课堂笔记)

    # 条件判断 s = '储蓄卡' if s == '男': # 如果if 表达式成立 ,则执行下级语句 print('男性') elif s == '女': # 如果上面表达式不成立,执行本次判断,本 ...

  5. 不在框架中,利用Django的models操作

    import os import sys import django sys.path.apprnd(r'路径') os.chdir(r'路径') os.environ.setdefault('DJA ...

  6. netty同时做http和websocket(netty入门)

    ---恢复内容开始--- http://www.jianshu.com/p/5c29c6c6d28c ---恢复内容结束--- http://www.jianshu.com/p/5c29c6c6d28 ...

  7. (58)Wangdao.com第九天_JavaScript 对象的基本操作

    对象的基本操作 创建对象 var 对象名 = new Object();        // new 函数;    称为构造函数,专门用来创建对象的函数 var god =  给对象增加属性 删除对象 ...

  8. Winform 打包 混淆 自动更新

    路径: 最终的解决方案是,ConfuserEx+Installshield+AutoUpdater.NET,ConfuserEx做代码混淆工作,Installshield可以解决注册表的问题,Auto ...

  9. 使用jetty工具包处理url参数成map

    引入工具包: <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-u ...

  10. 程序日志--ios“考反应扑克游戏”程序

    交代一下我做程序的工具:mac os x虚拟机10.9.3         Xcode6         百度^-^         參考书iPhone30天精通 总结与经验,还有遇到的问题,都在程序 ...