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

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

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

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

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

源码:
import pandas as pdu
import numpy as npa
n
#basic tentet:data aligment/基本的原则:数据对齐m
#point:data types;indexing;axis labeling/alignment]/要点:数据类型,索引,轴标签和对齐 def series():
#*generate
#ndarray
se=pd.Series(np.random.randn(5))
se =pd.Series(np.random.randn(5),index=['a', 'b', 'c', 'd', 'e'])
#dict
d = {'b' : 1, 'a' : 0, 'c' : 2}
se=pd.Series(d)
se=pd.Series(d,index=['b', 'c', 'd', 'a'])
#scalar
se=pd.Series(5,index=['a', 'b', 'c', 'd', 'e']) #*operate
#ndarrat-like
se[:3] #slice
se[se >se.median()] #filter
se[[4,3,1]] #indexing
#dict-like
se['a']=12 #indexing
'e' in se #compute
se+se
se*2
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. JAVA日常之三

    一.Main方法的args参数 args[] 是程序运行前可传入的参数,比如 java HelloWorld a,那么在HelloWorld的main方法里面 args就是{"a" ...

  2. Oracle 批量增加 / 批量跟新

    在使用oracl过程中踩到好多坑,在此记录,也分享给大家. 第一:批量插入 代码一(在为明确表和字段的情况下,动态批量增加): @Insert("<script> " ...

  3. Python 配置 selenium 模拟浏览器环境,带下载链接

    使用浏览器渲染引擎.直接用浏览器在显示网页时解析HTML,应用CSS样式并执行JavaScript的语句. 这方法在爬虫过程中会打开一个浏览器,加载该网页,自动操作浏览器浏览各个网页,顺便把数据抓下来 ...

  4. 巡风配置安装 –centOS6.5

    巡风是一款适用于企业内网的漏洞快速应急.巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表. 其主体分为两部分:网络资产识别引擎,漏 ...

  5. js 实现拖拽排序

    <!DOCTYPE> <html lang="zh-cn"> <head> <meta http-equiv="Content- ...

  6. 关于pycharm中缩进、粘贴复制等文本编辑功能部分失效的解决办法

    有可能是同时安装了vim,冲突导致: 在seetings中点击Plugins,搜索vim卸载后功能恢复

  7. bootstrap-daterangepicker双日历控件开始日期选择问题

    在做项目的时候,有这样一个需求,需要选择时间段,于是在网上找了bootstrap的双日历时间控件daterangepicker控件,要选取时间段的年月来与后台进行数据交互,时间控件如下图所示: 关于控 ...

  8. MySQL1-安装

    MySQL 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据 ...

  9. ANSYS中的阻尼damper

    详情请见链接: ANSYS中的阻尼 ANSYS动力学分析中的阻尼

  10. WMI tester

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...