Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Series(一):Series的创建方式和常用属性说明

Series(一):Series的创建方式和常用属性说明

作者头像
朱小五
发布于 2020-03-19 01:29:31
发布于 2020-03-19 01:29:31
2.2K00
代码可运行
举报
文章被收录于专栏:凹凸玩数据凹凸玩数据
运行总次数:0
代码可运行

今天给大家介绍Series的创建方式和常用属性说明。

1、list、ndarray、Series的简单比较

① list列表,列表中的元素可以是不同的数据类型,使用从0开始的整数值作为默认索引;

② ndarray数组,数组中的元素必须是同种数据类型,也是使用从0开始的整数值作为默认索引;

③ Series序列,是一种一维的结构,类似于一维列表和ndarray中的一维数组,但是功能比他们要更为强大,Series由两部分组成:索引index和数值values;

④ 一维列表和一维数组中都是采用从0开始的整数值作为默认索引,索引值一般不显示的给出,但是我们可以通过索引去获取其中的元素。对于Series来说,默认索引也是从0开始的整数值作为默认索引,但是是显示地给出,更为强大的是,Series中的索引可以随意设置,方便我们取数。

操作如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 import numpy as np
 import pandas as pd

 l1 = [1,2,"中国",4.5]
 display(l1)
 display(l1[2])

 a1 = np.array([1,2,5,6,8])
 display(a1)
display(a1[4])

s1 = pd.Series([1,3,5,7,9])
display(s1)
display(s1[4])

s2 = pd.Series([1,3,5,7,9],index=["a","b","c","d","e"])
display(s2)
display(s2["d"])
display(s2[3])

s3 = pd.Series([1,3,5,7,9],index=[3,4,5,6,7])
display(s3)
display(s3[6])

结果如下:

通过上述测试,我们可以总结出来这第5条结论:

⑤ 创建Series序列时,当不指定索引的时候,默认会生成从0开始的整数索引;当指定了“字符串索引”(也叫“标签索引”),既可以通过这个字符串索引访问元素,也可以通过原有的从0开始的整数索引访问元素;当指定一个“整数索引”,那么该索引会覆盖掉原有的默认的整数索引,只能通过这个新的整数索引访问元素,默认的整数索引会失效。

2、Series的5种常用创建方式

  • 语法:创建Series的语法:pd.Series()
  • 常用参数:index,用于指定新的索引;dtype,用于指定元素的数据类型;
  • 大前提:要记住Series是一个一维的结构!!!
  • 注意:当你指定了索引,系统会使用这个指定索引;当你没有指定索引,系统会默认给我们创建索引。

1)通过一维列表创建Series

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = [1,3,5,7,9]
y = pd.Series(x)
display(y)

y1 = pd.Series(x,index=["a","b","c","d","e"],dtype=np.float32)
display(y1)

结果如下:

2)通过可迭代对象创建Series

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = range(2,7)
y = pd.Series(x)
display(y)

结果如下:

3)通过字典创建Series

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = dict(a=22,b=18,c=35)
y = pd.Series(x)
display(y)

x1 = pd.Series({"a":1,"b":2,"c":3})
display(x1)

结果如下:

4)通过一维数组创建Series

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = np.arange(1,6)
y = pd.Series(x)
display(y)

结果如下:

5)通过标量(常数)创建Series

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = 22

y1 = pd.Series(x)
display(y1)

y2 = pd.Series(x,index=list(range(5)))
display(y2)

结果如下:

注意:创建一个含有相同元素的Series,元素的个数取决于我们设置的索引的个数。

3、Series中常用属性说明

1)Series和ndarray中常用属性对比

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 * ndim          返回Series的维数;
 * shape         返回Series的形状;
 * dtype         返回Series中元素的数据类型;
 * size          返回Series中元素的个数;
 * itemsize      返回Series中每一个元素占用空间的大小,
                 以字节为单位;
 * nbytes        返回Series中所有元素占用空间的大小,
                 以字节为单位;
 * T             返回Series的转置结果;

#注意:下面这3个属性,在Series中才有。
* index         返回Series中的索引;
* values        返回Series中的数值;
* name          返回Series的名称  或  返回Series索引的名称;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* ndim          返回数组的维数;
* shape         返回数组的形状;
* dtype         返回数组元素的数据类型;
* size          返回数组中元素的个数;
* itemsize      返回数组中每一个元素占用空间的大小,以字节为单位;
* nbytes        返回数组中所有元素占用空间的大小,以字节为单位;
* T             返回数组元素的转置结果;

操作如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
s = pd.Series([1,3,5,7,9])
display(s)

display(s.ndim)
display(s.shape)
display(s.dtype)
display(s.size)
display(s.itemsize)
display(s.nbytes)
display(s.T)

结果如下:

注意:

① 由于Series是一维的结构,因此Series的ndim的值肯定是1;

② 关于itemsize还有nbytes的具体用法,可以参考之前的一篇文章去了解

《手撕numpy(二):各种特性和简单操作》

2)Series中特有的几个属性:index、values、name

① index和values属性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = pd.Series([1,3,5,7,9])
display(x)

display(x.index)
display(x.values)

结果如下:

② name属性:动态创建Serie名称和Series索引名称

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = pd.Series([1,3,5,7,9])
display(x)

x.name = "Series的名称"
x.index.name= "Series索引的名称"
display(x)

display(x.name)
display(x.index.name)

结果如下:

③ 在创建Series的时候,指定Series名称

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
y = pd.Series([1,3,5,7,9],index=["a","b","c","d","e"],name="Series的名称")
display(y)

display(y.index.name)
display(y.name)

结果如下:

注意:目前可能看不出来,指定这个索引名称的好处在哪里,这个在学习DataFrame的时候,会得到很好的体现。

如果多个series放在了一起,那么必然可以构建成一个dataframe,那么每个series的名称就是构成当前这个dataframe的column。(仔细先体会这段话)

下面,我们先用一个简单的例子,说明一下Serie名称的作用。

从上图中可以看出,In[6]我们先创建了一个dataframe,这个dataframe可以看作是由三个Series堆积而成的。In[8]我们选取了其中一列,那么得到的就是一个Series, In[9]我们获取这个Series的name,可以看出结果就是该列的column列名。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 凹凸数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2. Pandas系列 - Series基本功能
系列基本功能 DataFrame基本功能 系列基本功能 编号 属性或方法 描述 1 axes 返回行轴标签列表 2 dtype 返回对象的数据类型(dtype) 3 empty 如果系列为空,则返回True 4 ndim 返回底层数据的维数,默认定义:1 5 size 返回基础数据中的元素数 6 values 将系列作为ndarray返回 7 head() 返回前n行 8 tail() 返回最后n行 axes示例: import pandas as pd import numpy as np # Cre
Python编程爱好者
2020/09/08
3810
2. Pandas系列 - Series基本功能
手撕numpy(二):各种特性和简单操作
记住一句话:numpy中的数据类型转换,不要使用x.dtype修改元素的数据类型,最好用x.astype()这种方式。
朱小五
2020/03/18
4990
手撕numpy(二):各种特性和简单操作
Python数据分析模块 | pandas做数据分析(一):基本数据对象
pandas有两个最主要的数据结构,分别是Series和DataFrame,所以一开始的任务就是好好熟悉一下这两个数据结构。 1、Series 官方文档: pandas.Series (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.html#pandas.Series ) Series是类似于一维数组的对象,由一组数据(各种numpy的数据类型)以及一组与之相关的标签组成。首先看一下怎么构造出Series来。 cl
用户1332428
2018/03/09
1.6K0
Python数据分析模块 | pandas做数据分析(一):基本数据对象
Series(三):Series和ndarray对比学习
1、Series和ndarray都可以通过索引和切片访问元素,切片返回的是原来的视图,索引返回的是原来的拷贝。
朱小五
2020/04/01
5950
[L1]快速掌握Series~创建Series
由于在公众号上文本字数太长可能会影响阅读体验,因此过于长的文章,我会使用"[L1]"来进行分段。这系列将介绍Pandas模块中的Series,本文主要介绍:
触摸壹缕阳光
2020/04/26
1.3K0
pandas入门:Series、DataFrame、Index基本操作都有了!
导读:pandas是一款开放源码的BSD许可的Python库。它基于NumPy创建,为Python编程语言提供了高性能的、易于使用的数据结构和数据分析工具。
CDA数据分析师
2020/09/22
4.7K0
pandas入门:Series、DataFrame、Index基本操作都有了!
Python3快速入门(十三)——Pan
Pandas有三种主要数据结构,Series、DataFrame、Panel。 Series是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象等),轴标签统称为索引(index)。 DataFrame是带有标签的二维数据结构,具有index(行标签)和columns(列标签)。如果传递index或columns,则会用于生成的DataFrame的index或columns。 Panel是一个三维数据结构,由items、major_axis、minor_axis定义。items(条目),即轴0,每个条目对应一个DataFrame;major_axis(主轴),即轴1,是每个DataFrame的index(行);minor_axis(副轴),即轴2,是每个DataFrame的columns(列)。
py3study
2020/01/06
8.8K0
【数据处理包Pandas】Series的创建与操作
  NumPy 通过把大量同类数据组织成 ndarray 数组对象,并引入可以支持逐元素操作和广播机制的通用函数,为数值计算提供了许多不可或缺的功能。但当需要处理更灵活的数据任务(如为数据添加标签、处理缺失值等),或者需要做一些不是对每个元素都进行广播映射的计算(如分组、透视表等)时,NumPy 的限制就非常明显了。
Francek Chen
2025/01/22
1430
【数据处理包Pandas】DataFrame的创建
  DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共用同一个索引)是基于。
Francek Chen
2025/01/22
1810
【数据处理包Pandas】DataFrame的创建
python数据分析和可视化——一篇文章足以(未完成)
开发工具:PyCharm Community Edition 2021.3.1(或Jupyter Lab) 【pip install jupyter lab】
红目香薰
2022/11/29
9140
python数据分析和可视化——一篇文章足以(未完成)
Series(四):Series和ndarray在运算时的异同
由于pandas的底层是集成了numpy,因此Series的底层数据就是使用ndarray来构建的,因此我们得到了一个Series后,就可以使用numpy中的函数,对数据进行操作。但是Series与ndarry不同的地方在于,Series中多了一个索引。
朱小五
2020/04/01
9390
Python数据分析pandas之series初识
Python数据分析pandas之series初识
Java架构师必看
2021/12/02
5570
Pandas笔记
pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入 了大量库和一些标准的数据模型,提供了高效地操作大型结构化数据集所需的工具。
杨丝儿
2022/02/18
7.8K0
Pandas笔记
Series(二):Series的元素获取方式
关于切片和索引获取Series中的元素,可以参考我的另外一篇文章,对比学习效果会更好:《手撕numpy(三):切片和索引详解》
朱小五
2020/03/19
9K0
Pandas数据结构之Series
本节介绍 Pandas 基础数据结构,包括各类对象的数据类型、索引、轴标记、对齐等基础操作。首先,导入 NumPy 和 Pandas:
用户1564362
2019/11/27
9900
Pandas 学习之 Series
简介 Series 是一个类数组的数据结构,同时带有标签(lable)或者说索引(index)。 常用方法与属性 属性或方法 描述 axes 返回行轴标签列表。 dtype 返回对象的数据类型(dtype)。 empty 如果系列为空,则返回True。 ndim 返回底层数据的维数,默认定义:1。 size 返回基础数据中的元素数。 values 将系列作为ndarray返回。 head() 返回前n行。 tail() 返回最后n行。 创建 下边生成一个最简单的 Series 对象,因为没有给 Serie
一份执着✘
2018/06/04
7720
Pandas最详细教程来了!
导读:在Python中,进行数据分析的一个主要工具就是Pandas。Pandas是Wes McKinney在大型对冲基金AQR公司工作时开发的,后来该工具开源了,主要由社区进行维护和更新。
IT阅读排行榜
2021/04/20
3.3K0
Pandas最详细教程来了!
Pandas 2.2 中文官方教程和指南(八)
我们将从一个快速、非全面的概述开始,介绍 pandas 中的基本数据结构,以帮助您入门。关于数据类型、索引、轴标签和对齐的基本行为适用于所有对象。要开始,请导入 NumPy 并将 pandas 加载到您的命名空间中:
ApacheCN_飞龙
2024/05/24
4400
Pandas 2.2 中文官方教程和指南(八)
Python数据分析之pandas基本数据结构
Python数据分析之numpy数组全解析 Python数据分析之Pandas读写外部数据文件
统计学家
2019/12/23
1.3K0
Python数据分析之pandas基本数据结构
[L2]快速掌握Series~Series的属性
由于在公众号上文本字数太长可能会影响阅读体验,因此过于长的文章,我会使用"[L1]"来进行分段。这系列将介绍Pandas模块中的Series,本文主要介绍:
触摸壹缕阳光
2020/05/13
9440
相关推荐
2. Pandas系列 - Series基本功能
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验