Python数据分析pandas之series初识
Python数据分析pandas之series初识
声明与简介
pandas是一个基于python的、快速的、高效、灵活、易用的开源的数据处理、分析包(工具)。。pandas构建在numpy之上,它通过DataFrame(数据框)来操作数据。数据框是一个高效的可以指定行和列标签的多维数组,通过这种数据类型可以更方便的操作、分析数据。本文主要介绍Series的初始化和访问。
创建Series
Series是个一维的索引化数组,和定义一维的ndrray类似,我们可以通过”[]”直接定义。
通过ndarray创建Series
#通过numpy的ndarry初始化Series
import pandas as pd
import numpy as np
serie1= pd.Series(np.array([1, 2, 3, 4]))
print(serie1)#结果
0 1
1 2
2 3
3 4
dtype: int32#注:这里没有指定索引,默认的索引是数值型的,从0开始。
创建无索引内容Series
#通过np.Series直接创建Series。
import pandas as pd serie1= pd.Series([3,5,8]) print(serie1) print(type(serie1.values),serie1.values)
#结果,从结果可以看到Series.values返回的是numpy的ndarray类型。
0 3
1 5
2 8
dtype: int64
<class 'numpy.ndarray'> [3 5 8]那么这里我们不难发现和一维的ndarray相比,Series在索引上是显式的,即数据里带有索引信息。当然索引的内容可以不都是数字型的,而ndarray的索引却都是数字型的。
创建有索引内容Series
# 这里创建一个显式索引定义的Series,演示的内容主要是可以通过指定的索引内容来访问Series里的数据。另外这里也举例说明了Series里自动实现元素类型的统一,比如元素类型有int和float时,int都统一转换为float。
import pandas as pd
serie1= pd.Series([3,5,8.23],index=['id','no','seq'])
print(serie1) print(type(serie1.values),serie1.values)
print("索引号"+'seq'+'\t:'+str(serie1['seq']))
通过字典不指定索引创建Series
# 通过字典来创建Series,这里的字典即是key:value键值对。
import pandas as pd
dic1 ={"id": 10001, "name":"张三", "course":"英文", "score":"90" }
serie1= pd.Series(dic1)
print(serie1) print("索引号"+'name'+'\t:'+str(serie1['name']))
索引不同元素相同方式初始化Series
# 通过指定索引方式创建Series,这里所有的元素都初始化为同样的值。
import pandas as pd
serie1= pd.Series(10,index=['id','score','level'])
print(serie1)print("索引号"+'name'+'\t:'+str(serie1['name']))
#结果
id 10
score 10
level 10
dtype: int64
#这种方式指定了索引,所有的索引对应的元素都是相同的值。
#如果想指定数据类型,可以加上参数dtype,比如dtype=np.int32
通过字典指定索引创建Series
import pandas as pd
dic1 = {"course": "英文","id": "10001","name": "张三","score": "90"
}serie1= pd.Series(dic1,index=['course','id','score'])
print(serie1)
print(serie1['score'])
print(dic1)
print(serie1.size)#结果
course 英文
id 10001
score 90
dtype: object
90
3
{'course': '英文', 'id': '10001', 'name': '张三', 'score': '90'}
#这里不难发现,虽然字典里有4个元素,但因为生成Series时指定的索引仅有3个且和字典的key名一致,所以最终生成Series仅有3个元素。我们可以通过它的size可以看到。
通过字典数组创建Series
# 通过字典数组来创建Series,这里的字典即是key:value键值对。数组里每个元素都是字典类型。
import pandas as pd
dic1 =[{ "course": "英文", "id": "10001", "name":"张三", "score":"90" },
{"course":"语文", "id": "10002", "name":"李四", "score":"80" }]
serie1= pd.Series(dic1)
print(serie1[1])
print(type(serie1[1]))
#结果
{'course': '语文', 'id': '10002', 'name': '李四', 'score': '80'} <class 'dict'>
注:一般我们不通过字典数组初始化Series,因为Series和普通数组的区别在于它有显式的,且有意义的,而字典数组方式直接初始化,默认的索引和普通ndarray方式一样,即0、1这种数字型索引。除非每条记录有特定意义,通过索引标识。
访问Series
通过索引位置索引访问Series
#通过索引号或者位置索引(从0开始),以”[]”的方式访问Series。
import pandas as pd
dic1 = {"course": "英文","id": "10001","name": "张三","score": "90"}serie1= pd.Series(dic1)
print(serie1['id'],serie1['course'])
print(serie1[1],serie1[3])#结果
10001 英文
10001 英文
通过loc显示访问Series
#通过loc方式访问,方法类似以索引方式访问。import pandas as pd
dic1 = {"course": "英文","id": "10001","name": "张三","score": "90"}serie1= pd.Series(dic1)
print(serie1.loc['id'],serie1.loc['score'])#结果
10001 90
通过iloc显示访问Series
#通过iloc方式访问,方法类似以位置索引方式访问。import pandas as pd
dic1 = {"course": "英文","id": "10001","name": "张三","score": "90"}serie1= pd.Series(dic1)
print(serie1.iloc[1],serie1.iloc[3])#结果
10001 90
通过loc对Series切片
#类似ndarry,我们可以通过“[start:end]”(start即下标、end为上标)方式对数组进行切片访问,这里切片后仍然是Series。
import pandas as pd
dic1 = {"course": "英文","id": "10001","name": "张三","score": "90"
}
serie1= pd.Series(dic1)
print(serie1.loc["course":"name"])#结果
course 英文
id 10001
name 张三
dtype: object
通过iloc对Series切片
#类似ndarry,我们可以通过“[start:end]”(start即下标、end为上标)方式对数组进行切片访问,这里切片后仍然是Series。
import pandas as pd
dic1 = {"course": "英文","id": "10001","name": "张三","score": "90"
}
serie1= pd.Series(dic1)
print(serie1.iloc[1:3])#结果
id 10001
name 张三
dtype: object
Python数据分析pandas之series初识相关推荐
- Python数据分析pandas之dataframe初识
Python数据分析pandas之dataframe初识 声明与简介 pandas是一个基于python的.快速的.高效.灵活.易用的开源的数据处理.分析包(工具)..pandas构建在numpy之上 ...
- Python数据分析pandas之分组统计透视表
Python数据分析pandas之分组统计透视表 数据聚合统计 Padans里的聚合统计即是应用分组的方法对数据框进行聚合统计,常见的有min(最小).max(最大).avg(平均值).sum(求和) ...
- series 合并pandas_在python中pandas的series合并方法
如下所示: In [3]: import pandas as pd In [4]: a = pd.Series([1,2,3]) In [5]: b = pd.Series([2,3,4]) In [ ...
- Python数据分析pandas之多层高维索引
Python数据分析pandas之多层高维索引 DataFrame多层索引 多层索引简介 众所周知Pandas的Series和DataFrame存放的是一维和二维数组,那么想存放多维数组就得通过多层索 ...
- Python数据分析——Pandas基础:dt.datetime与pivot_table()数据透视表
系列文章目录 Chapter 1:创建与探索DF.排序.子集化:Python数据分析--Pandas基础入门+代码(一) Chapter 2:聚合函数,groupby,统计分析:Python数据分析- ...
- Python数据分析pandas之数据拼接与连接
Python数据分析pandas之数据拼接与连接 数据拼接处理 数据拼接处理指的是numpy.pandas里对数据的拼接.连接.合并等多种方法的概称.有时我们处理的数据会分很多步骤,而中间或者最终的结 ...
- Python数据分析pandas入门(一)------十分钟入门pandas
Python数据分析基础 一.导入常用库 二.创建对象 三.查看数据 四.选取 五.通过标签选取 六.通过位置选取 七.布尔索引 八.赋值 九.缺失值处理 十.运算与统计 十一.Apply函数的作用 ...
- python数据分析-pandas学习
文章目录 一.pandas环境的搭建 1.pandas 简介 2.pandas安装和调用 二.pandas学习 1.pandas简介 2.pandas学习资源 3.pandas核心数据结构 4.Ser ...
- 【学习笔记】python数据分析-Pandas
目录 pandas数据结构 创建Series数据 创建DataFrame数据 pandas的索引操作 重新索引 更换索引 索引选取 选取行 选取列 布尔选择 pandas的增删改 增加行或列 删除行或 ...
最新文章
- 使用hibernate自动生成数据库表
- 【深度学习】重新思考BatchNorm中的 “Batch”
- mysql-Federated存储方式,远程表,相当于sql server的linked server
- C++算法四:顺序查找
- Stata和Matlab联合处理金融数据
- 解决codeforces访问慢的问题
- 小米发布会之文案错误:大哥你先处罚自己!再处罚相关高管!
- ftp服务器向所有主机发送文件,文件传输FTP
- Servlet+jsp入门教程
- JAVA 如何控制模拟表单提交_java后端模拟表单提交
- python面板数据模型_面板数据模型选择
- STM32-FSMC外扩内存SRAM
- 运营前线2:一线运营专家的运营方法、技巧与实践01 在腾讯两年,我学会了这15条内容运营干货...
- 存储和多屏互动,蜂鸟网的NAS应用解析
- 网站被黑怎么查被入侵原因和日志
- 服务器蓝屏显示7f,电脑蓝屏代码7f怎么解决 如何处理电脑蓝屏代码7f
- 字幕助手 FastTitle 0.0.3 版本发布
- 马云的创业故事及他人生中的摆渡人-微信的兴起和支付宝的至暗时刻(十)
- OpenCV:vector subscript out of range
- 计算机系微电子专业大学排名,2017微电子专业大学排名
热门文章
- VTK:BrownianPoints布朗点用法实战
- JavaScript实现isPowerOfTwo算法(附完整源码)
- OpenCASCADE:Modeling Data之边界框
- wxWidgets:wxVariantDataCurrency类用法
- boost::mp11::mp_split相关用法的测试程序
- boost::movelib::unique_ptr相关用法的测试程序
- boost::math模块使用词法转换的一个非常简单的例子的测试程序
- 拷贝boost::exception的测试程序
- VTK:图片之RTAnalyticSource
- OpenCV OMZ MTCNN人脸检测的实例(附完整代码)