You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.9 KiB

3.1.1Series对象

创建Series对象

创建PandasSeries对象的方法:pd.Series(data,index=index)

其中,index是一个可选参数,默认为np.arange(n)data参数支持多种数据类型。

Series是通用的Numpy数组

Series对象和一维Numpy数组基本可以等价交换,但两者间的本质差异其实是索引:NumPy数组通过隐式定义的整数索引获取数值,而PandasSeries对象用一种显式定义的索引与数值关联。 显式索引的定义让Series对象拥有了更强的能力。例如,索引不再仅仅是整数,还可以是任意想要的类型。

In: data = pd.Series([0.25, 0.5, 0.75, 1.0], index=['a', 'b', 'c', 'd'])
Out: a 0.25 
	 b 0.50
	 c 0.75 
	 d 1.00 
	 dtype: float64
In: data["b"]
Out: 0.5

Series是特殊的字典

你可以把PandasSeries对象看成一种特殊的Python字典。字典是一种将任意键映射到一组任意值的数据结构,而Series对象其实是一种将类型键映射到一组类型值的数据结构。我们可以直接用Python的字典创建一个Series对象,让Series对象与字典的类比更加清晰。

In: population_dict = {'California': 38332521,'Texas': 26448193, 'New York': 19651127, 'Florida': 19552860, 'Illinois': 12882135} 
In: population = pd.Series(population_dict) 
In: population
Out: California 38332521 
 	Florida    19552860 
	 Illinois   12882135 
 	New York   19651127 
	 Texas 	 26448193 
	 dtype: int64

用字典创建 Series对象时,其索引默认按照顺序排列。典型的字典数值获取方式仍然有效,而且还支持数组形式的切片操作等。

In: population['California'] 
Out: 38332521
In: population['California':'Illinois'] 
Out: California 38332521 
	 Florida    19552860 
	 Illinois   12882135 
	 dtype: int64