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

您所在的位置:网站首页 几个属性 Series(一):Series的创建方式和常用属性说明

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

2023-07-25 22:39| 来源: 网络整理| 查看: 265

大家好,我是黄同学

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

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

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

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

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

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

操作如下:

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

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

x = range(2,7) y = pd.Series(x) display(y)

结果如下:

3)通过字典创建Series

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

x = np.arange(1,6) y = pd.Series(x) display(y)

结果如下:

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

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

结果如下:

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

3、Series中常用属性说明

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

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

操作如下:

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属性

x = pd.Series([1,3,5,7,9]) display(x) display(x.index) display(x.values)

结果如下:

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

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名称

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列名。

近期文章,点击图片即可查看

后台回复关键词「进群」,即刻加入读者交流群~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3