概念:
1.利用pandas库从外部读取数据到python形成的表格叫做DataFrame表格对象
2.Series序列对象即DataFrame表哥对象中的某一列数据
3.Series序列对象简称序列对象,其数据是Serie
获取序列对象的方法:
从表格对象中提取序列对象:表格对象【‘列名称’】
import pandas as pd
df = pd.read_excel(r'../dataset/超市销售数据.xlsx')
df['商品单价(美元)']
或者手动生成一个序列对象:pd.Series(列表对象)类生成
series = pd.Series([1,2,3,4])
series
tips:打代码的过程中,注意中英文的切换,不然结果会运输错误!
Series序列对象的属性
属性 | 含义 |
values | 元素(值) |
index | 索引 |
name | 名称 |
dtypes | 元素类型 |
size | 元素个数 |
ndim | 维度数 |
shape | 数据形状(行列数目) |
series = pd.Series([1,2,3,4])
series
print(series.values)#值
print(series.index)#索引
print(series.name)#名称
print(series.dtypes)#数据类型
print(series.size)# 数据个数
注意:打代码的同时注意大小写的切换,甚至括号和标点符号也要精确
Series序列对象中局部数据的访问方法
1.通过序列单个索引访问:序列对象[索引]
2.通过序列索引的切片访问:序列对象[索引1:索引2]
3.通过判断条件访问:序列对象[序列对象 逻辑判断符号 阀值]
series2 = pd.Series(['a','b','c'])
print(series2[0])
print('-'*20)
print(series2[0:2])
print('-'*20)
print(series2[series2!='a'])
Series序列对象的运算
序列对象和数字或者另一个序列之间可以进行基本的运算
series = pd.Series([1,2,3,4])
series2 = pd.Series([4,3,2,1])
print(series)
print(series+10)
print(series*10)
print(series+series2)
print(series.astype(str)+'个')
print(series>1)
注意:打代码的同时注意大小写的切换,甚至括号和标点符号也要精确
Series序列对象常用方法
astype()
转换序列对象元素的数据类型
series = pd.Series([1,2,3])
print(series.astype(str))
series2 = pd.Series(['1','2','3'])
print(series2.astype(int))
Series序列对象的常用方法
value_counts()
用于统计序列中每个元素值出现了多少次
注意:返回值也是一个序列对象
注意:打代码的同时注意大小写的切换,甚至括号和标点符号也要
series = pd.Series([1,2,3,3,3,4,4,4,4,5,5])
series.value_counts()
Series序列对象常用的方法
sort_values()
对序列中的数据进行排序
注意:返回的新序列对象对象中的索引排序被打乱了
注意:打代码的同时注意大小写的切换,甚至括号和标点符号也要精确
series = pd.Series([5,1,2,3,7,6])
print(series.sort_values())#升序
print(series.sort_values(ascending = False))#降序
Series序列对象的常用方法
rank()
返回序列中数据大小的排名
注意:返回的是一个序列对象,索引和园序列相同
注意:打代码的同时注意大小写的切换,甚至括号和标点符号也要精确
Series序列对象常用方法
round()
控制数字型序列的小数点位
series = pd.Series([1/3,2/3,1/6])
print(series)
print(series.round(1))
print(series.round(2))
Series序列对象常用方法
序列对象.str.方法名()
一系列用于批量处理字符串序列对象中元素的方法
注意:返回序列对象
注意:打代码的同时注意大小写的切换,甚至括号和标点符号也要精确
方法 | 功能 |
str.contains() | 判断序列中各元素是否包含某个字符 |
str.split() | 根据特定字符分割序列中各字符 |
str.replace() | 批量替换序列中所有元素中的某字符串 |
str.count() | 统计序列中铬元素中某字符串的出现次数 |
... | ... |
series3 = pd.Series(['1元','2元','3元'])
print(series3)
print(series3.str.replace('元','¥'))
series3 = pd.Series(['张三','李四','王五'])
series3.str.contains('张')
注意:打代码的同时注意大小写的切换,甚至括号和标点符号也要精确
Series序列对象常用方法
agg()
对序列对象的元素进行加工的方法
注意:返回序列对象
语法:
1.序列对象.agg(lambda x:关于x的返回值)
2.序列对象.agg(定义好的加工函数)
#例一:要提取出字符串中的数字
series3 = pd.Series(['1元','2元','3元'])
print(series3.agg(lambda x:x.split('元')[0]))
#例二:将年龄转换为“成年”/“未成年”
series4 = pd.Series(['10岁','20岁','30岁'])
print(series4.agg(lambda x:'成年' if int(x.split('岁')[0])>18 else '未成年'))
注意:打代码的同时注意大小写的切换,甚至括号和标点符号也要精确
Series序列对象常用方法
max()/min)/mean)/median()/count)/var0/...
计算数字型序列对象中所有元素的统计量
方法 | 功能 |
max() | 求序列元素的最大值 |
min() | 求序列元素的最小值 |
mean() | 求序列元素的平均值 |
median() | 求序列元素的中位数 |
count() | 求序列元素的个数 |
mode() | 求序列元素的众数 |
var() | 求序列元素的方差 |
quantile() | 求序列元素的分位数 |
series = pd.Series([1,2,3,2,5,6])
print(series)
print(series.max())
print(series.min())
print(series.sum())
print(series.count())
print(series.median())
print(series.var())
print(series.mode())
注意:打代码的同时注意大小写的切换,甚至括号和标点符号也要精确
文章到这里就结束了,我们下期再见