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. Git相关命令整理

    git config --global user.name  //配置姓名git config --global user.email  //配置邮箱git config --list  //查看配置 ...

  2. vue中监听返回键

    问题:在项目中,我们常常有需求,当用户在填写表单时,点击返回的时候,我们希望加一个弹窗,确认离开吗,确认将保存为草稿 解决方案:利用 H5的 pushstate(个人理解为增加页面栈)特性与onpop ...

  3. thinkphp在 nginx 的conf文件配置

    server { listen 80; server_name www.osd-aisa.com; #charset koi8-r; #access_log logs/host.access.log ...

  4. 脚本_根据 md5 校验码,检测文件是否被修改

    #!bin/bash#功能:根据 md5 校验码,检测文件是否被修改#作者:liusingbon#本示例脚本检测的是/etc 目录下所有的 conf 结尾的文件,根据实际情况,您可以修改为其他目录或文 ...

  5. kali Linux 入门(一)

    一.描述 1.基于Debian Linux 发行版 2013年3月13日 2.包含约600个安全工具 3.定制 安全稳定的内核 4.前身是BackTrack(2013年停止维护) 5.官方机构:Off ...

  6. weblogic启动脚本

    DATE=`date +%Y%m%d%H%M%S` user=`whoami` logDir=/app/logs/sguap_admin #启动日志存放路径sguap是例子系统简称# logDestd ...

  7. 【LeetCode】智商题 brainteaser(共3题)

    [292]Nim Game [319]Bulb Switcher [777]Swap Adjacent in LR String (2019年2月13日,谷歌tag) 给了两个字符串start 和en ...

  8. 从零开始之uboot、移植uboot2017.01(二、从入口分析流程)

    原创: To_run_away 从零开始学linux 本节的开始之前,先看一下uboot的链接脚本. 一.链接脚本 /* * Copyright (c) 2004-2008 Texas Instrum ...

  9. vsftpd配置详解

    匿名用户权限控制: anonymous_enable=YES #是否启用匿名用户 no_anon_password=YES #匿名用户login时不询问口令 anon_upload_enable=(y ...

  10. 正则表达式中的Quantifiers

    ?: Match an element zero or one time 例如: colou?r: color 或 colour 但不能是 colo2r *: Match an element zer ...