一、Series对象
1.Series对象的创建
#用Numpy的一维ndarray数组创建Series对象
import numpy as np
import pandas as pd
s1=pd.Series(np.arange(0,5,2),index=['a','b','c']) #通过index指定索引
print(s1)
输出:
a 0
b 2
c 4
print(s1.values) #输出:[0,2,4]
print(s1.index) #输出:['a', 'b', 'c'], dtype='object'
#用标量值创建Series对象
s2 = pd.Series(25,index= ['a','b','c'])
print(s2)
输出:
a 25
b 25
c 25
#用字典创建Series对象
dict1 = {'Alice':'234','Beth':'901','Cecil':'234'}
sd = pd.Series(dict1)
print(sd)
输出:
Alice 234
Beth 901
Cecil 234
dtype: object
#用列表创建Series对象
s3 = pd.Series(data = [90,86,95],index = ['Java','C','Python'])
print(s3)
输出:
Java 90
C 86
Python 95
dtype: int64
2.Series对象的属性
print(s3.shape) #使用shape属性获取Series对象的形状
s3.name='grade'
print(s3.name) #为Series对象s3命名为'grade'
s3.index.name='科目'
print(s3.index.name)#为索引命名
输出:
(3,)
grade
科目
3.Series对象的查看和修改
print(s3['C']) #通过某个索引查看对应的数据
print(s3[1]) #通过默认索引来索取
print(s3.C) #将索引作为Series对象的属性来获取对应的数据
print(s3[0:2]) #通过截取索引的方式一次读取多个元素
print(s3[['Python','C','Java']]) #通过索引列表一次读取多个元素
print(s3[s3>=90]) #获取数据值大于或等于90的元素
s3['C']=96 #重新赋值修改数据
print(s3['C'])
输出:
86
86
86
科目
Java 90
C 86
Name: grade, dtype: int64
科目
Python 95
C 86
Java 90
Name: grade, dtype: int64
科目
Java 90
Python 95
Name: grade, dtype: int64
96
二、Series对象的基本运算
1.算术运算与函数运算
print(s3+2)
print(np.sqrt(s3)) #计算各数据的平方根
print(s3.count()) #返回s3包含的元素个数
print(s3.drop(labels=['Java','C'])) #删除s3中索引为'Java'和'C'的元素
输出:
科目
Java 92
C 98
Python 97
Name: grade, dtype: int64
科目
Java 9.486833
C 9.797959
Python 9.746794
Name: grade, dtype: float64
3
科目
Python 95
Name: grade, dtype: int64
2.Series对象之间的运算
s5=pd.Series([10,20],index=['c','d'])
s6=pd.Series([2,4,6,8],index=['a','b','c','d'])
print(s5+s6) #相同索引值的相加
输出:
a NaN
b NaN
c 16.0
d 28.0
dtype: float64