阅读之前假定你已经有了python内置的list和dict的基础.这里内容几乎是官方文档的翻译版本.

 
概览:
 
原来的文档是在一个地方,那边的代码看起来舒服些   https://www.yuque.com/u86460/dgt6mu/bx0m4g
一个要铭记在新的基本特点是 数据对齐
要点:索引,轴标签,生成实例时传入的数据类型
 

#*生成:pd.Series(data,index)        data是传入的数据,index是第一列的名称(即标签)      (其他不常用的参数忽略)
#ndarray (data的类型)
  1. >>> pd.Series(np.random.randn(5))
  2. 0 1.617186
  3. 1 0.326732
  4. 2 -0.230443
  5. 3 -0.137932
  6. 4 0.474872
  7. dtype: float64
  8. >>> pd.Series(np.random.randn(5),index=['a', 'b', 'c', 'd', 'e'])
  9. a 0.048464
  10. b 1.413755
  11. c 0.036489
  12. d 0.533946
  13. e 0.286384
  14. dtype: float64
如果不指定index,标签默认从0开始
#dict
  1. >>> d = {'b' : 1, 'a' : 0, 'c' : 2}
  2. >>> pd.Series(d)
  3. b 1
  4. a 0
  5. c 2
  6. dtype: int64
index的顺序跟字典key的顺序一样.
  1. >>> pd.Series(d,index=['b', 'c', 'd', 'a'])
  2. b 1.0
  3. c 2.0
  4. d NaN
  5. a 0.0
  6. dtype: float64
在这里,index顺序跟传入的数据一致.虽然‘d’在字典中不存在,但为了保证数据不丢失,便创建起来,其值为空.这可以理解为数据对齐
     #scalar (标量)
  1. >>> pd.Series(5,index=['a', 'b', 'c', 'd', 'e'])
  2. a 5
  3. b 5
  4. c 5
  5. d 5
  6. e 5
  7. dtype: int64
  8. >>> pd.Series('a',index=['b', 'c', 'd', 'a'])
  9. b a
  10. c a
  11. d a
  12. a a
  13. dtype: object
一整列的数据都一样
 
 

#*操作
     #ndarray-like
切片,过滤,通过索引取值
  1. >>> se =pd.Series(np.random.randn(5),index=['a', 'b', 'c', 'd', 'e'])
  2. >>> se[:3] #slice
  3. a 1.169659
  4. b -1.557760
  5. c 1.199475
  6. dtype: float64
  7. >>> se[se >se.median()] #filter
  8. a 1.169659
  9. c 1.199475
  10. dtype: float64
  11. >>> se[[4,3,1]] #indexing
  12. e -1.113787
  13. d 0.571881
  14. b -1.557760
  15. dtype: float64
#dic-like
索引,in 判断
  1. >>> se['a']=12 #indexing
  2. >>> 'e' in se
  3. True
#*计算:矢量加法,数乘,函数
  1. >>> se+se
  2. a 24.000000
  3. b -3.115519
  4. c 2.398949
  5. d 1.143761
  6. e -2.227573
  7. dtype: float64
  8. >>> se*4
  9. a 48.000000
  10. b -6.231039
  11. c 4.797899
  12. d 2.287523
  13. e -4.455147
  14. dtype: float64
  15. >>> np.exp(se)
  16. a 162754.791419
  17. b 0.210607
  18. c 3.318373
  19. d 1.771596
  20. e 0.328313
  21. dtype: float64
 

#*其他:序列的命名和重命名
  1. >>> s=pd.Series(np.random.randn(5),name='something')
  2. >>> s
  3. 0 -0.010572
  4. 1 -0.519850
  5. 2 0.649738
  6. 3 -0.443780
  7. 4 0.402685
  8. Name: something, dtype: float64
  9. >>> s2=s.rename('different')
  10. >>> s2
  11. 0 -0.010572
  12. 1 -0.519850
  13. 2 0.649738
  14. 3 -0.443780
  15. 4 0.402685
  16. Name: different, dtype: float64
变成两个不同的序列
 
 

源码:
  1. import pandas as pdu
  2. import numpy as npa
  3. n
  4. #basic tentet:data aligment/基本的原则:数据对齐m
  5. #point:data types;indexing;axis labeling/alignment]/要点:数据类型,索引,轴标签和对齐
  6. def series():
  7. #*generate
  8. #ndarray
  9. se=pd.Series(np.random.randn(5))
  10. se =pd.Series(np.random.randn(5),index=['a', 'b', 'c', 'd', 'e'])
  11. #dict
  12. d = {'b' : 1, 'a' : 0, 'c' : 2}
  13. se=pd.Series(d)
  14. se=pd.Series(d,index=['b', 'c', 'd', 'a'])
  15. #scalar
  16. se=pd.Series(5,index=['a', 'b', 'c', 'd', 'e'])
  17. #*operate
  18. #ndarrat-like
  19. se[:3] #slice
  20. se[se >se.median()] #filter
  21. se[[4,3,1]] #indexing
  22. #dict-like
  23. se['a']=12 #indexing
  24. 'e' in se
  25. #compute
  26. se+se
  27. se*2
  28. np.exp(se)

pandas数据结构之series操作的更多相关文章

  1. pandas 学习(1): pandas 数据结构之Series

    1. Series Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index). 1.1 下边生成一个最简单的Series对象,因为没有给Series指定索引,所以此时会 ...

  2. pandas数据结构:Series/DataFrame;python函数:range/arange

    1. Series Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index). 1.1 下边生成一个最简单的Series对象,因为没有给Series指定索引,所以此时会 ...

  3. pandas数据结构之DataFrame操作

    这一次我的学习笔记就不直接用官方文档的形式来写了了,而是写成类似于“知识图谱”的形式,以供日后参考. 下面是所谓“知识图谱”,有什么用呢? 1.知道有什么操作(英文可以不看) 2.展示本篇笔记的结构 ...

  4. pandas数据结构之Series笔记

    对Series的理解也源于对其相关的代码操作,本次仅贴一些代码来加深理解以及记忆 import pandas as pd import numpy as np s = pd.Series(np.ran ...

  5. pandas教程1:pandas数据结构入门

    pandas是一个用于进行python科学计算的常用库,包含高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单.pandas建造在NumPy之上,它使得以NumPy为中心的应用很容 ...

  6. pandas 数据结构的基本功能

    操作Series和DataFrame中的数据的常用方法: 导入python库: import numpy as np import pandas as pd 测试的数据结构: Series: > ...

  7. 读书笔记一、pandas数据结构介绍

    pandas数据结构介绍 主要两种数据结构:Series和DataFrame.   Series   Series是一种类似于一维数组的对象,由一组数据(各种NumPy数据类型)+数据标签(即索引)组 ...

  8. python数据分析学习(1)pandas一维工具Series讲解

    目录 一:pandas数据结构介绍   python是数据分析的主要工具,它包含的数据结构和数据处理工具的设计让python在数据分析领域变得十分快捷.它以NumPy为基础,并对于需要类似 for循环 ...

  9. pandas | 使用pandas进行数据处理——Series篇

    本文始发于个人公众号:TechFlow,原创不易,求个关注 上周我们关于Python中科学计算库Numpy的介绍就结束了,今天我们开始介绍一个新的常用的计算工具库,它就是大名鼎鼎的Pandas. Pa ...

随机推荐

  1. 20175120彭宇辰 《Java程序设计》第八周学习总结

    教材学习内容总结 第十五章 泛型与集合框架 一.泛型 泛型的主要目的是可以建立具有类型安全的集合框架,如链表.散列映射等数据结构. 1.泛型类声明 class People<E> Peop ...

  2. seriviceWorker 小结

    serviceWorker 的状态 install → activate. 1.初进页面,此前未加载过serviceWorker,直接进入install状态,随后进入activate状态,但是此时se ...

  3. java 注解 知识整理

    一.前言 注解(也称为元数据)为我们在代码中添加信息提供了一种方法,它在 一定程度上将元数据与源代码文件结合在一起.它是从java 5 开始引入的.通过使用注解,我们可以将元数据保存在Java源代码之 ...

  4. parrotsec 和 kali安装系统的时候出现“executing grub-install dummy”的解决方案

    在物理机的环境下安装系统出现点问题,弄了好一会才弄出解决方法 1.parrot和kali安装的时候出现了无efi分区不能继续的问题,要知道我之前安装的时候一直都是\ ; 内存; \home三个分区搞定 ...

  5. Vector Math for 3D Computer Graphics (Bradley Kjell 著)

    https://chortle.ccsu.edu/VectorLessons/index.html Chapter0 Points and Lines (已看) Chapter1 Vectors, P ...

  6. KiCad EDA 原理图库的最佳实践

    KiCad EDA 原理图库的最佳实践 由于有 Alias 别名元件,可以不用一个每一个元件都有一个元件. 对每种元件类型建议一个元件库. 因为 Value 和 元件名是一样的,所以元件名要尽可能的简 ...

  7. 2018-2019-2 网络对抗技术 20165308 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165308 Exp4 恶意代码分析 实验过程 一.系统运行监控 (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一 ...

  8. RabbitMq C# .net 教程

    本文转载来自 [http://www.cnblogs.com/yangecnu/p/Introduce-RabbitMQ.html]写的很详细. 文件安装包官方DEMO下载地址是:http://pan ...

  9. Python中安装MySQL

    Windows 下Python3.6安装 mysql_python 存在各种不成功,切换到 SQLAlchemy也不行需要安装MySQL_python.需要安装mysqlclient. 执行 pip ...

  10. ThinkPad T460进不去系统的解决方法

    系统卡在系统lenovo界面的尝试解决方案:开机点击F1进入到bios界面进入Security-Secure Boot选Disabled进入Startup-UEFI选BOTH 然后点击F10 选yes ...