那么我们就来详细讲解“pandas数据类型之Series的具体使用”的完整攻略。
什么是Series
Series是一个定长的、有序的一维数组,并且可以存储任何数据类型(整数,字符串,浮点数,Python对象等),它与NumPy中的一维数组非常相似。Series和DataFrame是pandas中最为核心的两个数据结构,其他的数据结构都是建立在它们基础之上。
如何创建Series
可以使用下列方式创建一个Series:
import pandas as pd
s = pd.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
其中:
- data:数据,可以是Python字典、ndarray、标量(数字、字符串等)等。
- index:索引,一维数组类型,默认为从0开始的整数索引,长度与数据长度一致。
- dtype:指明数据类型,如果没有指定,将自动推断数据类型。
- name:Series的名字。
- copy:是否复制数据。
- fastpath:强制使用Cython的快速路径来生成Series对象。
Series的基本操作
访问Series中的数据
Series的数据可以通过下标、索引值等方式来获取和修改,示例如下:
import pandas as pd
s = pd.Series([1, 2, 3, 4], index=['dog', 'cat', 'kangaroo', 'owl'])
# 获取第3个元素的索引为‘kangaroo’的值
print(s[2], s['kangaroo'])
输出结果为:3, 3
修改Series中的数据
可以通过标签或索引来修改Series中的元素,示例如下:
import pandas as pd
s = pd.Series([1, 2, 3, 4], index=['dog', 'cat', 'kangaroo', 'owl'])
# 修改第3个元素的索引为‘kangaroo’的值
s['kangaroo'] = 5
print(s)
输出结果为:
dog 1
cat 2
kangaroo 5
owl 4
dtype: int64
Series的基本函数
除了基本的索引和修改操作,Series还有许多内置的函数,常用的有:
- s.head([n]):返回Series的前n行数据,默认为5。
- s.tail([n]):返回Series的后n行数据,默认为5。
- s.describe():返回Series的描述性统计信息。
- s.value_counts():返回Series中每个值的出现次数。
其中head()和tail()函数最为常用,示例如下:
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# 返回前3个元素
print(s.head(3))
# 返回后3个元素
print(s.tail(3))
输出结果为:
0 1
1 2
2 3
dtype: int64
7 8
8 9
9 10
dtype: int64
示例1:使用Series存储国家代码和国家名称
以下示例展示了如何使用Series存储国家代码和国家名称,并查询某个指定国家的代码号:
import pandas as pd
# 创建一个国家代码和名称的Series
country_codes = pd.Series([
"CN-China",
"US-United States",
"GB-United Kingdom",
"JP-Japan",
"DE-Germany"
])
# 查询某个指定国家的代码号
def query_country_code(country_name):
code_name = country_codes.str.split('-', n=1, expand=True)
country_code = code_name[0][code_name[1] == country_name].values[0]
return country_code
print(query_country_code('China'))
输出结果为:CN
示例2:使用Series实现矢量化计算
以下示例展示了如何使用Series实现简单的矢量化计算:
import pandas as pd
s1 = pd.Series([1, 2, 3, 4])
s2 = pd.Series([2, 2, 2, 2])
# Series的计算,可以像对待ndarray一样进行计算
s3 = s1 * s2 + s2 / s1
print(s3)
输出结果为:
0 4.000000
1 5.000000
2 6.666667
3 9.000000
dtype: float64
以上就是关于“pandas数据类型之Series的具体使用”的完整攻略,希望对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas数据类型之Series的具体使用 - Python技术站