Pandas中的Series数据类型详解
在Pandas中,Series是一种一维的、带有标签的数组数据结构,类似于Python中的字典类型或者numpy中的一维数组(ndarray)。Series是Pandas库中最基本常用的数据类型之一。
Series的创建非常简单,只需要传递一个数组或列表即可,Pandas会自动为其添加一个默认的序列号(index),也可以自定义序列号。下面我们来详细讲解Series数据类型。
创建Series
从列表或数组创建Series
通过pd.Series(list)
可以将一个列表或数组转换成一个Series对象,其中列表或数组的每个元素将成为Series的一个值,Series的默认索引是0到n-1(n为列表或数组长度)。例如:
import pandas as pd
import numpy as np
data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)
输出结果:
0 1
1 2
2 3
3 4
4 5
dtype: int64
通过以上代码我们可以看出,Pandas会自动为Series添加一个默认的整数索引,但是我们也可以通过index
参数来自定义索引,例如:
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
通过pd.Series(dict)
可以将一个字典类型转换成一个Series对象,其中字典的键将成为Series的索引,字典的值将成为Series的值。例如:
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
同样可以通过index
参数来自定义索引,例如:
data = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
index = ['b', 'c', 'a', 'd', 'e']
s = pd.Series(data, index=index)
print(s)
输出结果:
b 2
c 3
a 1
d 4
e 5
dtype: int64
访问Series中的元素
可以使用下标索引或标签索引来访问Series中的元素,例如:
data = [1, 2, 3, 4, 5]
index = ['a', 'b', 'c', 'd', 'e']
s = pd.Series(data, index=index)
# 使用下标索引访问单个元素
print(s[0]) # 1
# 使用标签索引访问单个元素
print(s['a']) # 1
# 使用切片访问多个元素
print(s[:3]) # a 1 b 2 c 3
Series的常用属性和方法
属性
values
:以数组形式返回Series的数据index
:返回Series的索引
data = [1, 2, 3]
index = ['a', 'b', 'c']
s = pd.Series(data, index=index)
print(s.values) # [1 2 3]
print(s.index) # Index(['a', 'b', 'c'], dtype='object')
方法
head(n)
:返回Series中的前n个元素tail(n)
:返回Series中的后n个元素describe()
:返回Series的一些统计信息,包括计数、平均值、标准差等sort_values()
:对Series进行升序排序isin(values)
:返回一个bool类型的Series,表示Series中的元素是否在指定的列表中unique()
:返回所有唯一值组成的列表nunique()
:返回Series中唯一值的数量value_counts()
:返回每个唯一值出现的次数
data = [1, 2, 3, 1, 2, 3, 3, 4, 5]
s = pd.Series(data)
print(s.head(3)) # 0 1 1 2 2 3
print(s.tail(3)) # 6 3 7 4 8 5
print(s.describe()) # count 9.000000 mean 2.666667 std 1.429841 min 1.000000 ...
print(s.sort_values()) # 0 1 3 1 1 2 4 2 2 3 ...
print(s.isin([1, 2])) # 0 True 1 True 2 False 3 False 4 True 5 False 6 False...
print(s.unique()) # [1 2 3 4 5]
print(s.nunique()) # 5
print(s.value_counts()) # 3 3 2 2 1 2 4 1 5 1
以上就是对Pandas中Series数据类型的详细讲解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas中的series数据类型详解 - Python技术站