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初识相关推荐

  1. Python数据分析pandas之dataframe初识

    Python数据分析pandas之dataframe初识 声明与简介 pandas是一个基于python的.快速的.高效.灵活.易用的开源的数据处理.分析包(工具)..pandas构建在numpy之上 ...

  2. Python数据分析pandas之分组统计透视表

    Python数据分析pandas之分组统计透视表 数据聚合统计 Padans里的聚合统计即是应用分组的方法对数据框进行聚合统计,常见的有min(最小).max(最大).avg(平均值).sum(求和) ...

  3. 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 [ ...

  4. Python数据分析pandas之多层高维索引

    Python数据分析pandas之多层高维索引 DataFrame多层索引 多层索引简介 众所周知Pandas的Series和DataFrame存放的是一维和二维数组,那么想存放多维数组就得通过多层索 ...

  5. Python数据分析——Pandas基础:dt.datetime与pivot_table()数据透视表

    系列文章目录 Chapter 1:创建与探索DF.排序.子集化:Python数据分析--Pandas基础入门+代码(一) Chapter 2:聚合函数,groupby,统计分析:Python数据分析- ...

  6. Python数据分析pandas之数据拼接与连接

    Python数据分析pandas之数据拼接与连接 数据拼接处理 数据拼接处理指的是numpy.pandas里对数据的拼接.连接.合并等多种方法的概称.有时我们处理的数据会分很多步骤,而中间或者最终的结 ...

  7. Python数据分析pandas入门(一)------十分钟入门pandas

    Python数据分析基础 一.导入常用库 二.创建对象 三.查看数据 四.选取 五.通过标签选取 六.通过位置选取 七.布尔索引 八.赋值 九.缺失值处理 十.运算与统计 十一.Apply函数的作用 ...

  8. python数据分析-pandas学习

    文章目录 一.pandas环境的搭建 1.pandas 简介 2.pandas安装和调用 二.pandas学习 1.pandas简介 2.pandas学习资源 3.pandas核心数据结构 4.Ser ...

  9. 【学习笔记】python数据分析-Pandas

    目录 pandas数据结构 创建Series数据 创建DataFrame数据 pandas的索引操作 重新索引 更换索引 索引选取 选取行 选取列 布尔选择 pandas的增删改 增加行或列 删除行或 ...

最新文章

  1. 使用hibernate自动生成数据库表
  2. 【深度学习】重新思考BatchNorm中的 “Batch”
  3. mysql-Federated存储方式,远程表,相当于sql server的linked server
  4. C++算法四:顺序查找
  5. Stata和Matlab联合处理金融数据
  6. 解决codeforces访问慢的问题
  7. 小米发布会之文案错误:大哥你先处罚自己!再处罚相关高管!
  8. ftp服务器向所有主机发送文件,文件传输FTP
  9. Servlet+jsp入门教程
  10. JAVA 如何控制模拟表单提交_java后端模拟表单提交
  11. python面板数据模型_面板数据模型选择
  12. STM32-FSMC外扩内存SRAM
  13. 运营前线2:一线运营专家的运营方法、技巧与实践01 在腾讯两年,我学会了这15条内容运营干货...
  14. 存储和多屏互动,蜂鸟网的NAS应用解析
  15. 网站被黑怎么查被入侵原因和日志
  16. 服务器蓝屏显示7f,电脑蓝屏代码7f怎么解决 如何处理电脑蓝屏代码7f
  17. 字幕助手 FastTitle 0.0.3 版本发布
  18. 马云的创业故事及他人生中的摆渡人-微信的兴起和支付宝的至暗时刻(十)
  19. OpenCV:vector subscript out of range
  20. 计算机系微电子专业大学排名,2017微电子专业大学排名

热门文章

  1. VTK:BrownianPoints布朗点用法实战
  2. JavaScript实现isPowerOfTwo算法(附完整源码)
  3. OpenCASCADE:Modeling Data之边界框
  4. wxWidgets:wxVariantDataCurrency类用法
  5. boost::mp11::mp_split相关用法的测试程序
  6. boost::movelib::unique_ptr相关用法的测试程序
  7. boost::math模块使用词法转换的一个非常简单的例子的测试程序
  8. 拷贝boost::exception的测试程序
  9. VTK:图片之RTAnalyticSource
  10. OpenCV OMZ MTCNN人脸检测的实例(附完整代码)