import pandas as pd

'''
Series序列:
1.序列 的声明,指定index列标签
2.查看列索引(index)和元素 (values)
3.选择内部元素
4.为元素赋值
5.用Numpy数组定义新Series对象
6.筛选元素
7.Series对象运算和数学函数
8.Series组成元素(重复,是否存在)
9.NaN
10.Series用做字典
'''
###  1.声明Series,并指定索引(没指定:索引从0开始自动递增)
series_define = pd.Series([2,3,3,4,6,8],index=['a','b','c','d','e','f'])
print(series_define)
'''
a 2
b 3
c 3
d 4
e 6
f 8
dtype: int64
'''

Series序列声明,指定索引index=

###  2.查看Series序列的索引和元素【返回两个数组】
series_index = series_define.index
series_value = series_define.values
print(series_index)
print(series_value)
'''
Index(['a', 'b', 'c', 'd', 'e', 'f'], dtype='object')
[2 3 3 4 6 8]
'''

查看Series序列的索引和元素【.index .values返回两个数组】

###  3.选择内部元素:切片或指定标签
print(series_define[-1])
print(series_define[4:-1])
print(series_define['f'])
print(series_define[['e','f']]) ###通过标签取多个值时,要把标签放在数组中

选择内部元素:切片或指定标签

###  4.为元素赋值:选取元素 = 赋值
series_define[0] = 66
series_define['b'] = 77
print(series_define)
'''
a 66
b 77
c 3
d 4
e 6
f 8
dtype: int64
'''

为元素赋值:选取元素 = 赋值

###  5.现有数组生成Series
arr = np.array([1,2,3,4])
s = pd.Series(arr)
print(s)
'''
0 1
1 2
2 3
3 4
dtype: int32
'''

现有数组生成Series

###  6.筛选元素:获取大于3的元素 s[s>3]
print(s[s>3])

筛选元素:获取大于3的元素 s[s>3]

###  7.适用于Numpy数组的运算符(+ - * /) 和 np.log()等数学函数都适用
#相除
s1 = series_define/2
print(s1)
'''
a 33.0
b 38.5
c 1.5
d 2.0
e 3.0
f 4.0
dtype: float64
'''
#取对
s2 = np.log(series_define)
print(s2)
'''
a 4.189655
b 4.343805
c 1.098612
d 1.386294
e 1.791759
f 2.079442
dtype: float64
'''

Series:数学函数np.log(s)运算

##  8.重复次数和判断是否存在
# .unique()去重(不重复的元素,返回value数组)
s_a = pd.Series([1,1,1,1,2,2,2,3])
a = s_a.unique()
print(a)
'''
[1 2 3]
'''
# .value_counts() 返回去重后的元素,并且统计出现的次数:返回Series,出现个数作为值
b = s_a.value_counts()
print(b)
print(b[1]) # .isin()判断是否存在(返回布尔值)
c = s_a.isin([2,3])
print(c)
c1 = s_a[s_a.isin([2,3])]
print(c)
print(c1)
'''
0 False
1 False
2 False
3 False
4 True
5 True
6 True
7 True
dtype: bool
0 False
1 False
2 False
3 False
4 True
5 True
6 True
7 True
dtype: bool
4 2
5 2
6 2
7 3
dtype: int64 '''

重复次数和判断是否存在

##  10.NaN:表示数据有问题
# np.NaN创建带NaN的序列
s4 = pd.Series([5,-3,np.NaN,14])
print(s4) '''
0 5.0
1 -3.0
2 NaN
3 14.0
dtype: float64
'''
##判断有无NaN ,如果有返回True
s41 = s4.isnull()
print(s41) ##判断不是NaN ,如果不是返回True
s42= s4.notnull()
print(s42) '''
0 False
1 False
2 True
3 False
dtype: bool
0 True
1 True
2 False
3 True
dtype: bool
'''

问题数据NaN

##  11.Series用作字典
## 用字典创建序列Series
mydict = {
'red':2000,
'blue':1000,
'yellow':500,
'orange':1000
}
myseries = pd.Series(mydict)
print(myseries)
'''
red 2000
blue 1000
yellow 500
orange 1000
dtype: int64
'''
##索引数组≈字典的key 元素数组≈字典的values 单独指定索引。
#如,将blue换成black,并且打乱顺序
colors = ['red','yellow','orange','black','green']
myseries = pd.Series(mydict,index=colors)
print(myseries)
'''
red 2000
blue 1000
yellow 500
orange 1000
dtype: int64
red 2000.0
yellow 500.0
orange 1000.0
black NaN
green NaN
dtype: float64 指定索引会和字典key取交,没有交集的部分异常值NaN填充
'''

Series与字典

##  12.Series对象之间的运算:两个Series相加:对应key相同,对应value相加,否则异常NaN

mydict2 = {
'red':400,
'yellow':1000,
'black':700
}
myseries2 = pd.Series(mydict2)
mydict_add = myseries+myseries2
print(myseries)
print(myseries2)
print(mydict_add)
'''
red 2000.0
yellow 500.0
orange 1000.0
black NaN
green NaN
dtype: float64
red 400
yellow 1000
black 700
dtype: int64
black NaN
green NaN
orange NaN
red 2400.0
yellow 1500.0
'''

Series对象运算(相加:对应key匹配)

Series序列的更多相关文章

  1. GStreamer 1.0 series序列示例

    GStreamer 1.0 series序列示例 OpenEmbedded layer for GStreamer 1.0 这layer层为GStreamer 1.0框架提供了非官方的支持,用于Ope ...

  2. Lesson3——Pandas Series结构

    1 什么是Series结构? Series 结构,也称 Series 序列,是 Pandas 常用的数据结构之一,它是一种类似于一维数组的结构,由一组数据值(value)和一组标签组成,其中标签与数据 ...

  3. echarts在.Net中使用实例(二) 使用ajax动态加载数据

    通过上一篇文章可以知道和echarts参考手册可知,series字段就是用来存储我们显示的数据,所以我们只需要用ajax来获取series的值就可以. option 名称 描述 {color}back ...

  4. Kaggle入门教程

    此为中文翻译版 1:竞赛 我们将学习如何为Kaggle竞赛生成一个提交答案(submisson).Kaggle是一个你通过完成算法和全世界机器学习从业者进行竞赛的网站.如果你的算法精度是给出数据集中最 ...

  5. echart饼状图使用,打发时间。

    新公司,刚来几天,闲着没事,领导让我做些无关痛痒的活,优化报表统计!!!之前是用flash做的,现在要改成echart实现.好吧,之前没用过,抱着学习态度,研究了下.写点东西打发下时间,能帮到需要帮助 ...

  6. TeeChart控件的安装与常用 功能设置

    TeeChart控件的安装 TeeChart 7.0 With Source在Delphi 7.0中的安装 一.删除Delphi7自带TeeChart  1.Component -> insta ...

  7. Echart 商业级数据图表

    简介 最近工作上用到这个图表库,图表丰富,用起来也很方便.纯javascript,可以流畅得运行在PC和移动设备上,兼容大部分浏览器. 支持折线图(区域图).柱状图(条状图).散点图(气泡图).K线图 ...

  8. C# Chart圖標綁定

    开发软件为VS2010 免去了安装插件之类的麻烦. 最终效果图: 饼状图: 前台设置:设置参数为: :Titles, 添加一个序列,在Text中设置名字. :Series ,添加一个序列,选择Char ...

  9. java项目使用Echarts 做柱状堆叠图,包含点击事件

    基础知识请自行百度查看,以下直接贴出实现代码: <%@ page pageEncoding="UTF-8"%><!DOCTYPE html><html ...

随机推荐

  1. C++中的布尔类型和引用

    1,C++ 中的布尔类型: 1,C++ 在 C 语言的基础类型系统之上增加了 bool: 1,C 语言中,没有 bool 类型存在,往往都是用整型代替 bool 类型,常用 0 表示假,用 1 表示真 ...

  2. python学习第二十七天函数的return返回值

    python函数返回值用的return ,函数遇到return 结束函数运行过程,终止程序,不论后面还有多少个输出,都终止本次函数,所有一定要慎重用return 1,函数return用法 def go ...

  3. 记一次用Linux curl命令获取Django url返回值异常的问题

    问题描述: curl 检测 URL 返回值以判断服务器是否正常 原命令:curl -I -m 10 -o /dev/null -s -w %{http_code} --insecure $url 问题 ...

  4. Trait这个类的特性

    php从以前到现在一直都是单继承的语言,无法同时从两个基类中继承属性和方法,为了解决这个问题,php出了Trait这个特性 用法:通过在类中使用use 关键字,声明要组合的Trait名称,具体的Tra ...

  5. 毕设问题(2) fastjson 的过滤器使用(SSH hibernate)以及转换对象出现 $ref

    毕业设计,用SSH框架,但是想要做出异步请求数据的效果,使用了ajax方式,其中数据传递的类型为json.ajax使用用的jQuery的ajax.其实struts里也支持ajax功能,但是我觉得用太多 ...

  6. Kvm --05 密码保护:Kvm管理之WebVirtMgr

    目录 密码保护:Kvm管理之WebVirtMgr 1. 前言 2. 特点 3. 功能 4. 部署 1).安装相关依赖 2).安装Python需求环境 3).配置Nginx 4). 远程连接 5).更新 ...

  7. css解决表格嵌套表格出现多余边框的方法

    这是昨天遇到的问题因为表格里面套了层表格出现了双层的边框,昨天折腾了很久最终才知道有个属性叫 border-style:hidden 可以解决边框冲突! 左边的边框加上了该属性之后

  8. JAVA中位数排序

    package quickSort; public class QuickSort { private static int count; /** * 测试 * @param args */ publ ...

  9. 分布式架构的CAP原理

    CAP 定理的含义   一.分布式系统的三个指标 1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标. Consistency Availability Parti ...

  10. JSP页面中<%!%>与<%%>与<%=%>详解

    首先,我们要了解jsp运行原理.JSP的本质就是一个Servlet,JSP的运行之前会先被Tomcat服务器翻译为.java文件,然后在将.java文本编译 为.class文件,而我们在访问jsp时, ...