Pandas 数据结构 - Series

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

Series 特点:

  • 一维数组:Series是由一维数组构成的数据结构,类似于一维数组或列表。
  • 标签索引:每个Series对象都包含一个带标签的索引,可以通过这些标签来访问和操作数据,类似于字典的键值对。
  • 数据对齐:在进行运算或操作时,Series对象会根据标签自动按索引对齐数据。如果有不同的标签,则会产生缺失值(NaN)。
  • 类型灵活:Series可以存储不同类型的数据,例如整数、浮点数、字符串等。
  • 缺失数据处理:Series提供了处理缺失数据的方法,例如填充缺失值、删除包含缺失值的行等。
  • 向量化操作:Series支持向量化操作,可以对整个Series进行元素级运算,无需显式编写循环。
  • 可视化:Series可以直接与matplotlib等库结合使用,方便进行数据可视化。

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

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

pandas.Series( data, index, dtype, name, copy)

参数说明:

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

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

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

  • name:设置名称。

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

创建一个简单的 Series 实例:

import pandas as pd

# 创建一个简单的Series实例
s = pd.Series([1, 3, 5, 7, 9])

print(s)

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

import pandas as pd

a = [1, 2, 3]

myvar = pd.Series(a)

print(myvar[1])

 

我们可以指定索引值,如下实例:

import pandas as pd

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

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

print(myvar)

 

根据索引值读取数据:

import pandas as pd

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

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

print(myvar["y"])

我们也可以使用 key/value 对象,类似字典来创建 Series:

import pandas as pd

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

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

print(myvar)

设置 Series 名称参数:

import pandas as pd

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

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

print(myvar)

更多 Series 说明

基本操作:

# 导入pandas库
import pandas as pd

# 创建一个简单的Series实例
series = pd.Series([1, 3, 5, 7, 9])  
series_with_index = pd.Series([1, 3, 5, 7, 9], index=['a', 'b', 'c', 'd', 'e'])

# 获取索引为2的值
value = series[2]  
print("Value at index 2:", value)

# 获取索引为1到3的值
subset = series[1:4]  
print("Subset of values from index 1 to 3:", subset)

# 获取索引为'b'的值
value = series_with_index['b']  
print("Value with custom index 'b':", value)

# 索引和值的对应关系
for index, value in series_with_index.items():
    print(f"Index: {index}, Value: {value}")

基本运算:

# 导入pandas和numpy库
import pandas as pd
import numpy as np

# 创建一个简单的Series实例
series = pd.Series([1, 3, 5, 7, 9])  

# 算术运算:将所有元素乘以2
result = series * 2  
print("Result of arithmetic operation (multiply by 2):")
print(result)

# 过滤操作:选择大于2的元素
filtered_series = series[series > 2]  
print("\nFiltered Series with values greater than 2:")
print(filtered_series)

# 数学函数:对每个元素取平方根
result = np.sqrt(series)  
print("\nResult of mathematical function (square root):")
print(result)

 

属性和方法:

# 导入pandas库
import pandas as pd

# 创建一个带有自定义索引的Series实例
series_with_index = pd.Series([1, 3, 5, 7, 9], index=['a', 'b', 'c', 'd', 'e'])

# 获取索引
index = series_with_index.index
print("Index of the Series:")
print(index)

# 获取值数组
values = series_with_index.values
print("\nValues of the Series:")
print(values)

# 获取描述统计信息
stats = series_with_index.describe()
print("\nDescriptive statistics of the Series:")
print(stats)

# 获取最大值和最小值的索引
max_index = series_with_index.idxmax()
min_index = series_with_index.idxmin()
print("\nIndex of the maximum value:", max_index)
print("Index of the minimum value:", min_index)

 

注意事项:

  • Series 中的数据是有序的。
  • 可以将 Series 视为带有索引的一维数组。
  • 索引可以是唯一的,但不是必须的。
  • 数据可以是标量、列表、NumPy 数组等。
  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量子边缘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值