pandas的series 操作_Python相关性分析

pandas的series 操作_Python相关性分析

目录

基本特征

创建

自动生成索引

自定义生成索引

使用

基本运算

数据对齐


基本特征

  • 类似一维数组的对象
  • 由数据和索引组成
  • 有序定长的字典

创建

        Series能创建出带有数据和索引的字典来,且索引(index)与值(value)之间相互独立。创建方法如下所示:

自动生成索引

        Series能创建自动生成索引的字典,索引从0开始,代码如下所示:

import pandas as pd aSer = pd.Series([1, 2.0, 'a']) # 自带索引 print(aSer) print(aSer.values) # 输出值 print(aSer.index) # 输出键

运行结果如下所示:

生成自带索引的字典

0      1
1    2.0
2      a
dtype: object


[1 2.0 ‘a’]

键,和range函数类似
RangeIndex(start=0, stop=3, step=1)

自定义生成索引

        Series除了能创建自动生成索引的字典外,还能自定义生成索引,代码如下所示:

import pandas as pd bSer = pd.Series(['apple', 'peach', 'lemon'], index=[1, 2, 3]) # 指定索引 print(bSer) print(bSer.values) # 输出值 print(bSer.index) # 输出键

运行结果如下所示:

自定义生成索引的字典·

1    apple
2    peach
3    lemon
dtype: object


[‘apple’ ‘peach’ ‘lemon’]

自定义的键
Int64Index([1, 2, 3], dtype=’int64′)

使用

基本运算

        定义好了一个Series之后,我们可以对它进行一些简单的操作,代码如下所示:

import pandas as pd import numpy as np aSer = pd.Series([3, 5, 7], index=['a', 'b', 'c']) print(aSer['c']) # 取键值 print(aSer*2) # 值乘2 print(np.exp(aSer)) # 自然对数(e)的N次方, 如e^3

运行结果如下所示:

键值

7

把键值乘以2
a     6
b    10
c    14
dtype: int64

取自然对数(e)的N次方
a      20.085537          = e^3
b     148.
c    1096.
dtype: float64

数据对齐

        数据对齐是Serie的一个很重要的功能,能简化数据处理,代码如下所示:

import pandas as pd data = {'AXP': '86.40', 'CSCO': '122.64', 'BA': '99.44'} sindex = ['AXP', 'CSCO', 'BA', 'AAPL'] aSer = pd.Series(data) # 根据自身创建一个Series print(aSer) print(pd.isnull(aSer)) # 检测哪些值是空的 bSer = pd.Series(data, index= sindex) # 根据自身的值和把另一个列表作为索引创建一个Series print(bSer) # 对应索引无数据的,显示为NaN(Not a number) print(pd.isnull(bSer)) # 检测哪些值是空的

运行结果如下所示:

根据自身创建一个Series

AXP      86.40
CSCO    122.64
BA       99.44
dtype: object

检测哪些值是空的

AXP     False
CSCO    False
BA      False
dtype: bool

根据自身的值和把另一个列表作为索引创建一个Series
AXP      86.40
CSCO    122.64
BA       99.44
AAPL       NaN
dtype: object

检测哪些值是空的
AXP     False
CSCO    False
BA      False
AAPL     True
dtype: bool

        数据对齐的一个重要功能是:在运算中自动对齐不同索引的数据,代码如下所示:

import pandas as pd data = {'AXP': '86.40', 'CSCO': '122.64', 'BA': '99.44'} sindex = ['AXP', 'CSCO', 'BA', 'AAPL'] bSer = pd.Series(data, index= sindex) aSer = {'AXP':'86.40','CSCO':'122.64','CVX':'23.78'} cSer = pd.Series(aSer) print(bSer + cSer) # 都有数据才会显示,如bSer中无CVX,所以显示为NaN,都有数据的,因为是字符串,便拼接在一起

 运行结果如下所示:

AAPL             NaN
AXP       86.4086.40
BA               NaN
CSCO    122.64122.64
CVX              NaN
dtype: object

        若数据类型是数值型,便会相加,代码如下所示:

import pandas as pd data = {'AXP':86.40,'CSCO':122.64,'BA':99.44} sindex = ['AXP', 'CSCO', 'BA', 'AAPL'] aSer = pd.Series(data, index = sindex) bSer = {'AXP': 86.40, 'CSCO': 130.64, 'CVX': 23.78} cSer = pd.Series(bSer) print( (aSer+cSer)/2) # 数值相加再除2

 运行结果如下所示:

AAPL       NaN
AXP      86.40
BA         NaN
CSCO    126.64
CVX        NaN
dtype: float64

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/140148.html

(0)
上一篇 2024年 6月 26日
下一篇 2024年 6月 26日

相关推荐

关注微信