pandas中Series的代码实例解析

 更新时间:2023年07月06日 10:10:32   作者:程序~源  
这篇文章主要介绍了pandas中Series的代码实例解析,Series序列,是一种一维的结构,类似于一维列表和ndarray中的一维数组,但是功能比他们要更为强大,Series由两部分组成:索引index和数值values,需要的朋友可以参考下

pandas中Series的创建

引用数据库

import pandas as pd
s=pd.Series( data, index, dtype, copy,name)
参数名称描述
data输入的数据,可以是列表、常量、ndarray 数组等。
index索引值必须是惟一的,如果没有传递索引,则默认为 np.arrange(n)。
dtypedtype表示数据类型,如果没有提供,则会自动判断得出。
copy表示对 data 进行拷贝,默认为 False。
name接收string或list。表示Series对象的名称。默认为None

1)用python中的列表list创建:

import pandas as pd
my_list=[1,2,3,4]
my_Series=pd.Series(my_list)
print(my_list)

输出结果如下:

0    1
1    2
2    3
3    4
dtype: int64

2)用numpy数组创建

import pandas as pd
import numpy as np
my_array=np.array([1,2,3,4])
s=pd.Series(my_array)
print(s)

输出结果如下:

0    1
1    2
2    3
3    4
dtype: int32

3)用python中的字典dict创建:

import pandas as pd
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data)
print(s)

输出结果如下:

a 0.0
b 1.0
c 2.0
dtype: float64

4)标量创建Series对象:

如果 data 是标量值,则必须提供索引,示例如下:

import pandas as pd
s = pd.Series(5, index=[0, 1, 2, 3])
print(s)

输出如下:

0  5
1  5
2  5
3  5
dtype: int64

5)为index参数传递索引:

以上面的dict方法举例:

import pandas as pd
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data,index=['b','c','d','a'])
print(s)

输出结果如下:

b 1.0
c 2.0
d NaN
a 0.0
dtype: float64

其中需要注意的是索引没有匹配值时会返回NAN值

pandas中Series的访问

# 访问Series中数据的两种方法
import pandas as pd
s1 = pd.Series([ 75, 90, 61],index=['张三', '李四', '陈五'])
print(s1[0])             #通过元素储存位置访问
print(s1['张三'])         #通过指定索引访问
# 结果均为 75

1)切片操作

数据切片的概念源于Numpy数组,Series对象使用类似NumPy中ndarray的数据访问方法实现切片操作。

#Series的切片操作
import pandas as pd
s1 = pd.Series([ 75, 90, 61, 59],index=['a', 'b', 'c', 'd']) 
s1[1:3]

2) 通过bool数组访问Series数据

import pandas as pd
import numpy as np
my_array=np.array([1,2,3,4])
s=pd.Series(my_array,['a','b','c','d'])
print(s)
print(s[s.index>'a'])

输出:

a    1
b    2
c    3
d    4
dtype: int32
b    2
c    3
d    4
dtype: int32

3)数据修改

可以直接通过赋值的方法修改Series中的对应值。

# 修改Series中的值
import pandas as pd
s1 = pd.Series([ 75, 90, 61],index=['张三', '李四', '陈五'])
s1['张三'] = 60         #通过指定索引访问
s1[1] = 60            #通过元素储存位置访问
print(s1)

输出数据:

张三    60
李四    60
陈五    61
dtype: int64

4)算术运算

Pandas会根据索引index索引对相应数据进行计算。如代码所示,可以直接对Series结构进行加减乘除运算符,当出现index不匹配的情况时会输出NaN。

import pandas as pd
sr1 = pd.Series([1, 2, 3, 4],['a','b','c','d'])
sr2 = pd.Series([1, 5, 8, 9],['a','c','e','f'])
print(sr2 - sr1)

输出:

a    0.0
b    NaN
c    2.0
d    NaN
e    NaN
f    NaN
dtype: float64

pandas中Series的常用属性

名称属性
axes以列表的形式返回所有行索引标签。
dtype返回对象的数据类型。
empty返回一个空的 Series 对象。
ndim返回输入数据的维数。
size返回输入数据的元素数量。
values以 ndarray 的形式返回 Series 对象。
index返回一个RangeIndex对象,用来描述索引的取值范围。
  • values : 以 ndarray 的形式返回 Series 对象。
import pandas as pd
import numpy as np
s = pd.Series(np.random.randn(6))
print(s)
print("输出series中数据")
print(s.values)

输出:

0   -0.502100
1    0.696194
2   -0.982063
3    0.416430
4   -1.384514
5    0.444303
dtype: float64
输出series中数据
[-0.50210028  0.69619407 -0.98206327  0.41642976 -1.38451433  0.44430257]

  • axes: 以列表的形式返回所有行索引标签。
import pandas as pd
import numpy as np
s = pd.Series(np.random.randn(5))
print ("The axes are:")
print(s.axes)

输出:

The axes are:
[RangeIndex(start=0, stop=5, step=1)]

Series常用方法

1)统计方法

2)追加Series和插入单个值

类似list,通过append方法能够在原Series上插入(追加)新的Series。若只在原Series上插入单个值,则采用赋值方式即可

import pandas as pd
list1 = [0, 1, 2, 3, 4]
series = pd.Series(list1, index = ['a', 'b', 'c', 'd', 'e'])
series1 = pd.Series([4, 5], index = ['f', 'g'])
# 追加Series
print('在series插入series1后为:\n', series.append(series1))

输出:

在series插入series1后为:
a    3
b    1
c    2
d    3
e    4
f    4
g    5
dtype: int64

3)删除Series元素

import pandas as pd
list1 = [0, 1, 2, 3, 4]
series = pd.Series(list1, index = ['a', 'b', 'c', 'd', 'e'])
series.drop('e', inplace = True)
print( series)

输出:

a    0
b    1
c    2
d    3
dtype: int64

4)unique()与nunique()的用法

unique()返回去重后的元素值

import pandas as pd
list1 = [0, 1, 2, 4, 4]
series = pd.Series(list1, index = ['a', 'b', 'c', 'd', 'e'])
print(series.unique())

输出:

[0 1 2 4]

nunique()返回去重后的元素个数

import pandas as pd
list1 = [0, 1, 2, 4, 4]
series = pd.Series(list1, index = ['a', 'b', 'c', 'd', 'e'])
print(series.nunique())

输出:

4

value_counts(),求不同元素的个数

import pandas as pd
list1 = [0, 1, 2, 4, 4]
series = pd.Series(list1, index = ['a', 'b', 'c', 'd', 'e'])
print(series.value_counts())

输出:

4    2
0    1
1    1
2    1
dtype: int64

value_counts(),求不同元素的个数

import pandas as pd
list1 = [0, 1, 2, 4, 4]
series = pd.Series(list1, index = ['a', 'b', 'c', 'd', 'e'])
print(series.value_counts())

输出:

4    2
0    1
1    1
2    1
dtype: int64

到此这篇关于pandas中Series的代码实例解析的文章就介绍到这了,更多相关pandas的Series实例内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python函数参数分类原理详解

    Python函数参数分类原理详解

    这篇文章主要介绍了Python函数参数分类原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • E: 无法定位软件包 python3-pip问题及解决

    E: 无法定位软件包 python3-pip问题及解决

    这篇文章主要介绍了E: 无法定位软件包 python3-pip问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Pytorch各种维度变换函数总结

    Pytorch各种维度变换函数总结

    本文对于PyTorch中的各种维度变换的函数进行总结,包括reshape()、view()、resize_()、transpose()、permute()、squeeze()、unsqeeze()、expand()、repeat()函数的介绍和对比,感兴趣的可以了解一下
    2024-02-02
  • Pycharm代码无法复制,无法选中删除,无法编辑的解决方法

    Pycharm代码无法复制,无法选中删除,无法编辑的解决方法

    今天小编就为大家分享一篇Pycharm代码无法复制,无法选中删除,无法编辑的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Numpy广播域的理解

    Numpy广播域的理解

    本文主要介绍了Numpy广播域的理解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python文件操作类操作实例详解

    Python文件操作类操作实例详解

    这篇文章主要介绍了Python文件操作类操作实例代码,需要的朋友可以参考下
    2014-07-07
  • python爬虫的数据库连接问题【推荐】

    python爬虫的数据库连接问题【推荐】

    这篇文章主要介绍了python爬虫的数据库连接问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • python中redis的安装和使用

    python中redis的安装和使用

    本文给大家介绍的是在Python中安装和使用redis数据库的方法以及简单示例,有需要的小伙伴可以参考下
    2016-12-12
  • 你知道吗实现炫酷可视化只要1行python代码

    你知道吗实现炫酷可视化只要1行python代码

    这篇文章主要给大家介绍了关于利用Python进行数据可视化常见的9种方法!文中介绍的方法真的超实用!对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-08-08
  • 详解Python中pandas的安装操作说明(傻瓜版)

    详解Python中pandas的安装操作说明(傻瓜版)

    这篇文章主要介绍了Python中pandas的安装操作说明,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04

最新评论