关于Pandas的Series创建方式和常用属性

 更新时间:2023年07月06日 09:53:15   作者:朱小五是凹凸君呀  
这篇文章主要介绍了关于Pandas的Series创建方式和常用属性,Series 数据结构是用于储存一个序列的一维数组,DataFrame 数据结构是用于存储复杂数据的二维数据结构,本文来详细说明一下

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;

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

到此这篇关于关于Pandas的Series创建方式和常用属性的文章就介绍到这了,更多相关Pandas的Series创建方式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Python的turtle模块绘制樱花树的代码示例

    使用Python的turtle模块绘制樱花树的代码示例

    Python的turtle模块是一个直观的图形化编程工具,让用户通过控制海龟在屏幕上的移动来绘制各种形状和图案,在接下来的文章中,我将通过一个生动的例子——绘制一幅樱花树图画——来深入探讨turtle模块的实用性,需要的朋友可以参考下
    2024-04-04
  • Python自动化办公之清理重复文件详解

    Python自动化办公之清理重复文件详解

    这篇文章主要为大家详细介绍了如何利用Python清理重复的文件,文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以参考一下
    2022-05-05
  • 20行python代码实现人脸识别

    20行python代码实现人脸识别

    这篇文章主要介绍了python人脸识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 教你实现Ubuntu安装Python

    教你实现Ubuntu安装Python

    这篇文章主要为大家介绍了Ubuntu安装Python的实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Pytorch图像处理注意力机制解析及代码详解

    Pytorch图像处理注意力机制解析及代码详解

    这篇文章主要为大家介绍了Pytorch图像处理注意力机制解析及代码详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 如何利用Python监控别人的网站

    如何利用Python监控别人的网站

    这篇文章主要为大家详细介绍了如何利用Python实现监控别人的网站,这样还可以详细了解你的竞争对手网站,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-05-05
  • PHP webshell检查工具 python实现代码

    PHP webshell检查工具 python实现代码

    Web安全应急响应中,不免要检查下服务器上是否被上传了webshell,手工检查比较慢,就写了个脚本来检查了。Windows平台下已经有了lake2写的雷克图的了,一般的检查也够用了,写了个Linux下面的,用python写的。
    2009-09-09
  • Python DES加密实现原理及实例解析

    Python DES加密实现原理及实例解析

    这篇文章主要介绍了Python DES加密实现原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • python 接口返回的json字符串实例

    python 接口返回的json字符串实例

    下面小编就为大家分享一篇python 接口返回的json字符串实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 深入探讨Pandas数据清洗与高效分析

    深入探讨Pandas数据清洗与高效分析

    这篇文章主要介绍了深入探讨Pandas数据清洗与高效分析,Pandas 是 Python 中最强大的数据处理库之一,广泛应用于数据分析、统计建模和科学计算领域,本文将深入探讨 Pandas 的高阶用法,包括数据清洗、高效的数据操作以及与机器学习结合的应用
    2021-10-10

最新评论