: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

【Pandas 教程系列】- Pandas 数据结构 - Series

【Pandas 教程系列】- Pandas 数据结构 - Series

Pandas Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。

Series 特点:

索引: 每个 Series 都有一个索引,它可以是整数、字符串、日期等类型。如果没有显式指定索引,Pandas 会自动创建一个默认的整数索引。

数据类型: Series 可以容纳不同数据类型的元素,包括整数、浮点数、字符串等。



Series 是 Pandas 中的一种基本数据结构,类似于一维数组或列表,但具有标签(索引),使得数据在处理和分析时更具灵活性。

以下是关于 Pandas 中的 Series 的详细介绍: 创建 Series: 可以使用 pd.Series() 构造函数创建一个 Series 对象,传递一个数据数组(可以是列表、NumPy 数组等)和一个可选的索引数组。
  1. pandas.Series( data, index, dtype, name, copy)[/code

  2. ]参数说明:

  3. data:一组数据(ndarray 类型)。

  4. index:数据索引标签,如果不指定,默认从 0 开始。

  5. dtype:数据类型,默认会自己判断。

  6. name:设置名称。

  7. copy:拷贝数据,默认为 False。

  8. 创建一个简单的 Series 实例:

  9. [code]import pandas as pd

  10. a = [1, 2, 3]

  11. myvar = pd.Series(a)

  12. print(myvar)
复制代码
输出结果如下:



从上图可知,如果没有指定索引,索引值就从 0 开始,我们可以根据索引值读取数据:
  1. import pandas as pd

  2. a = [1, 2, 3]

  3. myvar = pd.Series(a)

  4. print(myvar[1])
复制代码
输出结果如下:
  1. 2
复制代码
我们可以指定索引值,如下实例:
  1. import pandas as pd

  2. a = ["Google", "Runoob", "Wiki"]

  3. myvar = pd.Series(a, index = ["x", "y", "z"])

  4. print(myvar)
复制代码
输出结果如下:



根据索引值读取数据:
  1. import pandas as pd

  2. a = ["Google", "Runoob", "Wiki"]

  3. myvar = pd.Series(a, index = ["x", "y", "z"])

  4. print(myvar["y"])
复制代码
输出结果如下:
  1. Runoob
复制代码
我们也可以使用 key/value 对象,类似字典来创建 Series:
  1. import pandas as pd

  2. sites = {1: "Google", 2: "Runoob", 3: "Wiki"}

  3. myvar = pd.Series(sites)

  4. print(myvar)
复制代码
输出结果如下:



从上图可知,字典的 key 变成了索引值。

如果我们只需要字典中的一部分数据,只需要指定需要数据的索引即可,如下实例:
  1. import pandas as pd

  2. sites = {1: "Google", 2: "Runoob", 3: "Wiki"}

  3. myvar = pd.Series(sites, index = [1, 2])

  4. print(myvar)
复制代码
输出结果如下:



设置 Series 名称参数:
  1. import pandas as pd

  2. sites = {1: "Google", 2: "Runoob", 3: "Wiki"}

  3. myvar = pd.Series(sites, index = [1, 2], name="RUNOOB-Series-TEST" )

  4. print(myvar)
复制代码


更多 Series 说明

基本操作:
  1. # 获取值
  2. value = series[2]  # 获取索引为2的值

  3. # 获取多个值
  4. subset = series[1:4]  # 获取索引为1到3的值

  5. # 使用自定义索引
  6. value = series_with_index['b']  # 获取索引为'b'的值

  7. # 索引和值的对应关系
  8. for index, value in series_with_index.items():
  9.     print(f"Index: {index}, Value: {value}")
复制代码
基本运算:
  1. # 算术运算
  2. result = series * 2  # 所有元素乘以2

  3. # 过滤
  4. filtered_series = series[series > 2]  # 选择大于2的元素

  5. # 数学函数
  6. import numpy as np
  7. result = np.sqrt(series)  # 对每个元素取平方根
复制代码
属性和方法:
  1. # 获取索引
  2. index = series_with_index.index

  3. # 获取值数组
  4. values = series_with_index.values

  5. # 获取描述统计信息
  6. stats = series_with_index.describe()

  7. # 获取最大值和最小值的索引
  8. max_index = series_with_index.idxmax()
  9. min_index = series_with_index.idxmin()
复制代码
注意事项:

Series 中的数据是有序的。
可以将 Series 视为带有索引的一维数组。
索引可以是唯一的,但不是必须的。
数据可以是标量、列表、NumPy 数组等。

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表