Series 详解

Series 详解Pandas 中创建的数据包含两种类型 SeriesDataFr 内容导图 SeriesSeries 是一维数组结构 它仅由 index 索引 和 value 值 构成的

欢迎大家来到IT世界,在知识的湖畔探索吧!

Series 详解



欢迎大家来到IT世界,在知识的湖畔探索吧!

Pandas 中创建的数据包含两种类型:

  • Series
  • DataFrame

内容导图

Series 详解

Series

Series 是一维数组结构,它仅由 index(索引)和value(值)构成的。

Series 的索引具有唯一性,索引既可以是数字,也可以是字符,系统会自动将它们转成一个 object 类型(pandas 中的字符类型),如下图所示:

Series 详解

DataFrame 类型

DataFrame 是将数个 Series 按列合并而成的二维数据结构,每一列单独取出来是一个 Series ;除了拥有 index 和 value 之外,还有 column。如下图所示:

  • 索引 index:0,1,2,3…….
  • 字段属性:fruit、number
  • 值 value:苹果、葡萄等;200、300 等
Series 详解

导入库

先导入两个库:

import pandas as pd import numpy as np 

欢迎大家来到IT世界,在知识的湖畔探索吧!

Series类型创建与操作

  • 通过可迭代类型列表、元组生成
  • 通过 python 字典生成
  • 通过 numpy 数组生成

列表生成

通过列表的方式生成 Series 数据

欢迎大家来到IT世界,在知识的湖畔探索吧!s1 = pd.Series([7,8,9,10]) s1 # 结果 0 7 1 8 2 9 3 10 dtype: int64 
s2 = pd.Series(list(range(1,8))) s2 # 结果 0 1 1 2 2 3 3 4 4 5 5 6 6 7 dtype: int64 

元组生成

下面的方法是通过元组生成 Series 数据

欢迎大家来到IT世界,在知识的湖畔探索吧!s3 = pd.Series((7,8,9,10,11)) s3 # 结果 0 7 1 8 2 9 3 10 4 11 dtype: int64 
Series 详解

s4 = pd.Series(tuple(range(1,8))) # 从1到8,不包含8 s4 # 结果 0 1 1 2 2 3 3 4 4 5 5 6 6 7 dtype: int64 

使用字典创建

字典的键为索引,值为 Series 结构对应的值

欢迎大家来到IT世界,在知识的湖畔探索吧!dic_data = {"0":"苹果", "1":"香蕉", "2":"哈密瓜","3":"橙子"} s5 = pd.Series(dic_data) s5 # 结果 0 苹果 1 香蕉 2 哈密瓜 3 橙子 dtype: object 
Series 详解

使用 numpy 数组

s6 = pd.Series(np.arange(3,9)) s6 # 结果 0 3 1 4 2 5 3 6 4 7 5 8 dtype: int64 

指定索引(列表)

默认的索引都是从 0 开始的数值,可以在创建的时候指定每个索引

欢迎大家来到IT世界,在知识的湖畔探索吧!# 默认 s1 = pd.Series([7,8,9,10]) s1 # 结果 0 7 1 8 2 9 3 10 dtype: int64 
s7 = pd.Series([7,8,9,10], index=["A","B","C","D"]) # 指定索引值 s7 # 结果 A 7 B 8 C 9 D 10 dtype: int64 
Series 详解

指定索引(字典形式)

字典的键作为索引值

欢迎大家来到IT世界,在知识的湖畔探索吧!dic_data = {"水果1":"苹果", "水果2":"香蕉", "水果3":"哈密瓜", "水果4":"橙子" } s8 = pd.Series(dic_data) s8 # 结果 水果1 苹果 水果2 香蕉 水果3 哈密瓜 水果4 橙子 dtype: object 
Series 详解

查看索引值s8


# 结果
水果
1 苹果
水果
2 香蕉
水果
3 哈密瓜
水果
4 橙子
dtype: object

s8.index
# 查看索引值


# 结果
Index([
‘水果1’, ‘水果2’, ‘水果3’, ‘水果4’], dtype=‘object’)
查看值s8


# 结果
水果
1 苹果
水果
2 香蕉
水果
3 哈密瓜
水果
4 橙子
dtype: object

s8.values


# 结果
array([
‘苹果’, ‘香蕉’, ‘哈密瓜’, ‘橙子’], dtype=object)
更改索引
# 1、新索引
index_new = [
‘one’, ‘two’, ‘three’, ‘four’]


# 2、赋值
s8.index = index_new

s8



# 结果
one 苹果
two 香蕉
three 哈密瓜
four 橙子
dtype: object




Series 详解

查看是否存在空值

s7 # 结果 A 7 B 8 C 9 D 10 dtype: int64 
欢迎大家来到IT世界,在知识的湖畔探索吧!s7.isnull() # 没有空值 # 结果 A False B False C False D False dtype: bool 
s7.notnull() # 结果 A True B True C True D True dtype: bool 

查看某个索引的值

欢迎大家来到IT世界,在知识的湖畔探索吧!s7 A 7 B 8 C 9 D 10 dtype: int64 

两种方式查看:

  • 通过自定义的索引查看
  • 通过对应的数值索引查看
s7["A"] # 自定义的索引值 7 
欢迎大家来到IT世界,在知识的湖畔探索吧!s7[0] # 默认的数值索引 7 
s7["D"] 10 
欢迎大家来到IT世界,在知识的湖畔探索吧!s7[3] 10 

将 Series 转成字典

s_dic = s7.to_dict() # 转成字典形式 s_dic # 结果 {'A': 7, 'B': 8, 'C': 9, 'D': 10} 
欢迎大家来到IT世界,在知识的湖畔探索吧!type(s_dic) # 结果显示为字典类型 # 结果 dict 

给 Series 索引命名

s8 # 结果 one 苹果 two 香蕉 three 哈密瓜 four 橙子 dtype: object 
欢迎大家来到IT世界,在知识的湖畔探索吧!s8.index # 原索引 Index(['one', 'two', 'three', 'four'], dtype='object') 
s8.index.name = "水果" # 索引命名 s8 

结果显示为:

欢迎大家来到IT世界,在知识的湖畔探索吧!水果 one 苹果 two 香蕉 three 哈密瓜 four 橙子 dtype: object 
s8.index # 更改之后的索引 
欢迎大家来到IT世界,在知识的湖畔探索吧!Index(['one', 'two', 'three', 'four'], dtype='object', name='水果') 

修改 Series 数值

s8 # 结果为 水果 one 苹果 two 香蕉 three 哈密瓜 four 橙子 dtype: object 
欢迎大家来到IT世界,在知识的湖畔探索吧!s8["three"] = "西瓜" # 等价于s8[2] = "西瓜" s8 

更改之后的值为:

水果 one 苹果 two 香蕉 three 西瓜 four 橙子 dtype: object 

Series 转为 DataFrame

欢迎大家来到IT世界,在知识的湖畔探索吧!s8 水果 one 苹果 two 香蕉 three 西瓜 four 橙子 dtype: object 
Series 详解

在将 s8 转成 DataFrame 的过程中涉及到 3 个函数:

  • to_frame:转成 DataFrame
  • reset_index:DataFrame 类型的索引重置
  • rename:DataFrame 的字段属性重置

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/104647.html

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信