Pandas Series结构是什么?
Pandas Series是一种类似于一维数组的数据结构,可以存储任意类型的数据,包括整数、浮点数、字符串、Python对象等。Series有两个主要的部分:索引和值,其中索引用于标识每个值的位置,可以是整数、字符串或其他数据类型。Series中的每个值都与一个索引值对应,因此可以通过索引来访问数据。Series的特点包括:
- 一维数组:Pandas Series是一种一维数组,可以轻松地存储和操作数据。
- 灵活的索引:Pandas Series的索引可以是数字、字符串或其他数据类型,因此可以根据需要对数据进行灵活的操作。
- 数据对齐:在进行算术运算时,Pandas Series会自动对齐不同索引的数据,这样可以避免出现缺失值或NaN。
- 缺失值处理:Pandas Series提供了多种方法来处理缺失值,包括删除、填充和插值等。
Pandas 创建Series对象
Pandas 使用 Series() 函数来创建 Series 对象,通过这个对象可以调用相应的方法和属性,从而达到处理数据的目的。
有4种创建Pandas Series() 对象的方法:
使用Python列表创建Series对象
import pandas as pd
data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)
输出结果:
0 1
1 2
2 3
3 4
4 5
dtype: int64
使用Python字典创建Series对象
import pandas as pd
data = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
s = pd.Series(data)
print(s)
输出结果:
a 1
b 2
c 3
d 4
e 5
dtype: int64
使用numpy数组创建Series对象
import pandas as pd
import numpy as np
data = np.array([1, 2, 3, 4, 5])
s = pd.Series(data)
print(s)
输出结果:
0 1
1 2
2 3
3 4
4 5
dtype: int64
指定Series对象的索引
import pandas as pd
data = [1, 2, 3, 4, 5]
index = ['a', 'b', 'c', 'd', 'e']
s = pd.Series(data, index=index)
print(s)
输出结果:
a 1
b 2
c 3
d 4
e 5
dtype: int64
使用标量创建Series对象
import pandas as pd
s = pd.Series(5, index=['a', 'b', 'c', 'd', 'e'])
print(s)
输出结果:
a 5
b 5
c 5
d 5
e 5
dtype: int64
Pandas 访问Series对象
pandas中访问Series数据的方法主要有两种:
-
通过索引访问:使用方括号 [],中括号内输入索引值或者索引标签来访问对应的数据。例如,s[0] 或者 s['a'] 都可以访问索引为0或者索引标签为'a'的数据。
-
通过切片访问:使用方括号 [] 和冒号 :,中括号内输入切片范围来访问对应的数据。例如,s[1:3] 可以访问索引为1和2的数据,不包括索引为3的数据。
下面是一些示例:
import pandas as pd
# 创建 Series
s = pd.Series([1, 2, 3, 4, 5])
# 访问第三个元素
print(s[2]) # 输出 3
# 访问前三个元素
print(s[:3]) # 输出 0 1\n1 2\n2 3\ndtype: int64
# 访问后三个元素
print(s[-3:]) # 输出 2 3\n3 4\n4 5\ndtype: int64
# 使用索标签访问单个元素值
s = pd.Series([6,7,8,9,10],index = ['a','b','c','d','e'])
print(s['a'])
# 使用索引标签访问多个元素值
s = pd.Series([6,7,8,9,10],index = ['a','b','c','d','e'])
print(s[['a','c','d']])
另外,还可以使用布尔型数组来访问数据。这种方法需要先构造一个布尔型数组,然后通过方括号 [] 将其传入Series对象中,返回一个新的Series对象,该对象包含满足条件的所有元素。例如:
s = pd.Series([1, 2, 3, 4, 5])
mask = s > 3
new_s = s[mask]
上述代码中,首先构造了一个Series对象 s,然后通过条件语句 s > 3 构造了一个布尔型数组 mask,表示每个元素是否大于3。最后,通过将 mask 传入 s[mask],返回一个新的Series对象 new_s,该对象包含原Series对象中所有大于3的元素。
本文链接:https://my.lmcjl.com/post/19936.html
4 评论