Series序列
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序列的更多相关文章
- GStreamer 1.0 series序列示例
GStreamer 1.0 series序列示例 OpenEmbedded layer for GStreamer 1.0 这layer层为GStreamer 1.0框架提供了非官方的支持,用于Ope ...
- Lesson3——Pandas Series结构
1 什么是Series结构? Series 结构,也称 Series 序列,是 Pandas 常用的数据结构之一,它是一种类似于一维数组的结构,由一组数据值(value)和一组标签组成,其中标签与数据 ...
- echarts在.Net中使用实例(二) 使用ajax动态加载数据
通过上一篇文章可以知道和echarts参考手册可知,series字段就是用来存储我们显示的数据,所以我们只需要用ajax来获取series的值就可以. option 名称 描述 {color}back ...
- Kaggle入门教程
此为中文翻译版 1:竞赛 我们将学习如何为Kaggle竞赛生成一个提交答案(submisson).Kaggle是一个你通过完成算法和全世界机器学习从业者进行竞赛的网站.如果你的算法精度是给出数据集中最 ...
- echart饼状图使用,打发时间。
新公司,刚来几天,闲着没事,领导让我做些无关痛痒的活,优化报表统计!!!之前是用flash做的,现在要改成echart实现.好吧,之前没用过,抱着学习态度,研究了下.写点东西打发下时间,能帮到需要帮助 ...
- TeeChart控件的安装与常用 功能设置
TeeChart控件的安装 TeeChart 7.0 With Source在Delphi 7.0中的安装 一.删除Delphi7自带TeeChart 1.Component -> insta ...
- Echart 商业级数据图表
简介 最近工作上用到这个图表库,图表丰富,用起来也很方便.纯javascript,可以流畅得运行在PC和移动设备上,兼容大部分浏览器. 支持折线图(区域图).柱状图(条状图).散点图(气泡图).K线图 ...
- C# Chart圖標綁定
开发软件为VS2010 免去了安装插件之类的麻烦. 最终效果图: 饼状图: 前台设置:设置参数为: :Titles, 添加一个序列,在Text中设置名字. :Series ,添加一个序列,选择Char ...
- java项目使用Echarts 做柱状堆叠图,包含点击事件
基础知识请自行百度查看,以下直接贴出实现代码: <%@ page pageEncoding="UTF-8"%><!DOCTYPE html><html ...
随机推荐
- AC自动机题单
AC自动机题目 真的超级感谢xzy 真的帮到我很多 题单 [X] [luogu3808][模板]AC自动机(简单版) https://www.luogu.org/problemnew/show/P38 ...
- UVAlive 6763 Modified LCS
LCS stands for longest common subsequence, and it is a well known problem. A sequence in thisproblem ...
- 最小生成树,Prim算法实现
最小生成树 所谓最小生成树,就是一个图的极小连通子图,它包含原图的所有顶点,并且所有边的权值之和尽可能的小. 首先看看第一个例子,有下面这样一个带权图: 它的最小生成树是什么样子呢?下图绿色加粗的边可 ...
- nginx的4层负载均衡配置
前言:所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. 换句换说,二层负载均衡会通过一个虚拟MAC地 ...
- php中的花括号使用详解
1.简单句法规则(用花括号界定变量名,适用于PHP所有版本,是php系统设定): $a = 'flower'; echo "She received some $as" ...
- Codeforces Round #394 (Div. 2) - C
题目链接:http://codeforces.com/contest/761/problem/C 题意:给定n个长度为m的字符串.每个字符串(字符串下标从0到m-1)都有一个指针,初始指针指向第0个位 ...
- Oracle 数据库恢复命令
前提是oracle服务能正常启动,但是客户端怎么都连接不上. 首先打开命令行,输入:sqlplus / as sysdba; 回车 连上数据库后,屏幕会显示:已连接到空闲例程. 接下来在SQL> ...
- Sass-颜色运算
所有算数运算都支持颜色值,并且是分段运算的.也就是说,红.绿和蓝各颜色分段单独进行运算.如: p { color: #010203 + #040506; } 计算公式为 01 + 04 = 05.02 ...
- sqlserver 之 将查询结果变为json字符串
GO /****** Object: StoredProcedure [dbo].[SerializeJSON] Script Date: 6/4/2019 3:58:23 PM 将查询结果变为jso ...
- Python3.5-20190501-廖老师的
python是一门解释型\脚本语言(和js特别像,如果同时学习js和python完全搅浑了.) 在运行py时候是一句一句翻译成cpu识别的机器码,所以速度比较慢.而C程序是运行前直接编译成CPU能执行 ...