Pandas Series对象创建,属性,索引及运算详解

目录

Series对象创建

实例化参数

index参数

选用array-like创建Series对象

list

ndarray

显示索引与隐式索引

选用dict创建Series对象

不指定索引

指定索引

选用标量创建Series对象

使用标量创建的广播机制

Series属性

name

size

shape

index

values

Series索引取值

Series对象[索引名]及Series对象.索引名

Series对象.iloc[]

索引取值后修改

Series数值运算

广播机制演示

使用Numpy运算函数


Series对象创建

实例化参数

def __init__(
    self,
    data=None,
    index=None,
    dtype: Dtype | None = None,
    name=None,
    copy: bool | None = None,
    fastpath: bool | lib.NoDefault = lib.no_default,
) -> None:

其中data为穿入的数据,数据类型一般为array-like,也可以穿入自建类型数据,index参数为Series对象的索引,也可称作为标签,dtype为单位元素数据类型的指定,name为Series对象的名称,如将Series对象导入DataFrame中,name将默认作为列名存在

index参数

Series对象实际是具有字典属性的array-like数据类型,原因在于Series对象为一维数据,在DataFrame二维表中,每一列或行单独取出都为一个Series参数,若取行,则列名则为Series对象的index,反之若取列,则行索引为index

index可分为隐式索引和显示索引

隐式索引为常规从0开始至长度-1的index

显示索引可以手动设置index,index列表中的每一项按序作为对应元素的索引

选用array-like创建Series对象

这里选用list及ndarray作为data参数传入演示及区别详解

list

选用list对象作为数据传入Series对象进行实例化的时候,创建的为副本对象,也就是说Series与list并不共享内存

import numpy as np
import pandas as pd

data1 = pd.Series(data=[1,2,3])
print(data1)
# 0    1
# 1    2
# 2    3
# dtype: int64
ndarray

使用ndarray对象作为数据传入Series对象进行实例化的时候,创建的为一个与原ndarray共享内存的Series对象

import numpy as np
import pandas as pd


arr = np.array([1,2,3])
data1 = pd.Series(data=arr)
print(data1)
arr[1] = 100
print(data1)
# 0    1
# 1    2
# 2    3
# dtype: int32
# 0      1
# 1    100
# 2      3
# dtype: int32

可以看到在进行原ndarray的修改后Series对象也发生了改变,这里可以使用.copy()来进行深拷贝

import numpy as np
import pandas as pd


arr = np.array([1,2,3])
data1 = pd.Series(data=arr.copy())
print(data1)
arr[1] = 100
print(data1)
# 0    1
# 1    2
# 2    3
# dtype: int32
# 0    1
# 1    2
# 2    3
# dtype: int32

显示索引与隐式索引

上述的例子都为隐式索引,即不指定索引,自动生成的从0-len-1的数值索引为隐式索引,接下来进行显示索引的指定

import numpy as np
import pandas as pd


arr = ['Jack','Male']
arr1 = ['Name','Gender']
data1 = pd.Series(data=arr,index=arr1)
print(data1)
# Name      Jack
# Gender    Male
# dtype: object

可以看到这里的dtype变为了object类型,原因为data的属性为字符串

选用dict创建Series对象

使用dict对象创建Series对象,只需要将data赋值为dict,索引会自动选用键,如果要自定义显式索引的话,则会根据显示索引匹配字典的键,如果有匹配不成功的则会使用pd.NA,也就是空值进行填充

不指定索引

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值