Pandas Series,python中series函数用法(2)
本系列是Python Pandas教程的一部分,您可以点击Python Pandas使用教程查看所有。
Pandas Series介绍
在 Pandas 中,series 是一维数据结构。这种数据结构更像是一种类似数组的格式,可以保存以下数据类型(整数、字符串、浮点数、python 对象等)的单个项目。每个项目都与系列中的一个索引值相关联。pandas series的标签不是唯一的,但它是一个可迭代的类型。pandas series数据结构使用非常广泛的方法对值执行必要的操作。
语法和参数
下面是一个语法:
语法:
pandas.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
以下是带描述的不同参数:
范围 | 描述 |
data | series 的值在此处声明。 |
index | 提及上述给定值的索引值,索引值不必是唯一的。索引值的默认范围是 (0, 1, 2, …. N)。索引的值需要与正在使用的数据长度相同。 |
dtype | 输出Series的数据类型。如果未指定,这将从数据中推断出来。 |
name | series名称 |
copy | 用于表示是否需要复制 |
如何创建一个空的Pandas Series?
可以使用pandas中的空series 方法创建空pandas series。它可以使用 copy() 方法与值相关联。
代码:
import pandas as pd
Temp_List1 = [2,4,56,7,8,8] pd_series = pd.Series([])
print(" Created Empty Series",pd_series)
pd_series = Temp_List1.copy()
print(" Print the entire series",pd_series)
print(" Print the first element of the Series",pd_series[0])
输出
说明:在这个例子中,首先创建一个空的 Pandas series 数据结构,然后使用复制函数加载数据结构的值。即将需要的值被保存为一个列表,然后该列表被复制到 pandas series 中。复制过程完成后,该系列将打印到控制台上。更具体地说,该series 的第一个元素也被打印出来。
如何使用各种输入创建 Pandas Series ?
可以通过多种方式创建pandas series ,绕过列表作为series 的项目,通过使用 python 系列值的操纵索引,我们还可以使用字典作为pandas series的输入。对于字典的情况,系列的键将被视为series中值的索引。
代码:
import pandas as pd
List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] index = [101, 102, 103, 104, 105, 106, 107, 108, 109, 110] dict = { 1:'Test_Value1', 2:'Test_Value2', 3:'Test_Value3'}
pd_series_default_index = pd.Series(List)
print(" Pandas Series with default index: \n",pd_series_default_index)
pd_series_manipulated_index = pd.Series(List,index)
print(" Pandas Series with Manipulated index: \n",pd_series_manipulated_index)
pd_series_manipulated_data_type = pd.Series(List,dtype=str)
print(" Pandas Series with Manipulated index: \n",type(pd_series_manipulated_data_type))
print(" Print type of first element: \n",type(pd_series_manipulated_data_type[0]))
pd_series_dict = pd.Series(dict)
print(" Pandas series with dicitionary type: \n",pd_series_dict)
print(" Pandas series with dicitionary type: \n",pd_series_dict[3])
输出:
说明:这里的pandas series 是通过三种方式创建的,首先是使用默认索引创建的,这使得它与来自1、2、3、4、….n系列的索引值相关联。下一个实例涉及将操作索引分配给series 。这个关联的索引值是 101, 102, 103, 104, 105, 106, 107, 108, 109, 110. 在接下来的例子中,使用字典来准备series ,这里我们可以注意到字典中的键充当整个系列的索引。在上述所有实例中,整个series 或series 中的某些特定索引都被手动打印到控制台上。
Pandas 中的对象
下表列出了与pandas 库相关的各种对象级属性,每个属性用于实现pandas series 中的某些特定功能或操作,确切使用的属性以及与该特定属性关联的功能是也列在下面。
属性 | 描述 |
pd.series.array | 将一个pandas series返回到一个 numpy 数组中 |
pd.series.at[] | 返回给定索引处的项目 |
pd.series.axes | 返回该series 中使用的所有索引 |
pd.series.dtypes | 返回基础series 的数据类型 |
pd.series.size | 返回series 的大小 |
pd.series.memory_usage() | 返回特定pandas series 占用的内存量 |
pd.series.shape | 返回pandas series 的shape |
代码:
import pandas as pd
List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] index = [101, 102, 103, 104, 105, 106, 107, 108, 109, 110] dict = { 1:'Test_Value1', 2:'Test_Value2', 3:'Test_Value3'}
pd_series = pd.Series(List,index)
print(" Pandas Series used: \n",pd_series)
print(" \n 'array' : ATTRIBUTE IN PANDAS")
print(" Pandas Series returning array: \n",pd_series.array ,type(pd_series.array))
print(" \n 'at' : ATTRIBUTE IN PANDAS")
print(" Pandas Series Access single value: ",pd_series.at[102])
print(" \n 'axes' : ATTRIBUTE IN PANDAS")
print(" Pandas Series indexes: ",pd_series.axes)
print(" \n 'dtypes' : ATTRIBUTE IN PANDAS")
print(" Pandas Series datatypes: ",pd_series.dtypes)
print(" \n 'size' : ATTRIBUTE IN PANDAS")
print(" Pandas Series size: ",pd_series.size)
print(" \n 'memory_usage' : ATTRIBUTE IN PANDAS")
print(" Find memory occurpied by series : ",pd_series.memory_usage())
print(" \n 'shape' : ATTRIBUTE IN PANDAS")
print(" Find shape of the series : ",pd_series.shape)
print(" \n 'empty' : ATTRIBUTE IN PANDAS")
print(" Empty a Pandas Series : ",pd_series.empty)
输出:
说明:上例中提到了pandas series的8个属性。第一个属性用于将整个series作为数组返回。下一个属性 at[] 用于访问series中的一个特定项目,这是通过提及数组的索引来实现的。index 属性用于打印数组中的所有索引。type 属性打印正在使用的series的类型。size 属性打印series的大小。接下来,memory_usage 方法打印系列所持有的内存,在本例中为 480 字节。然后显示series的形状和清空series的属性。
结论
Pandas 是最强大的数据处理库之一,它提供了这些分类的数据结构集,以利用最灵活的方法来处理所有数据。
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!