Pandas中有两个主要的数据结构:Series(一维的数据结构)和DataFrame(二维的、表格型的数据结构)。
Serise:
Series是一个类似一维数组的对象,它能够保存任何类型的数据,主要由一组数据和与之相关的索引两部分构成。
Pandas的Series类对象可以使用以下构 造方法创建:class pandas.Series(data = None,index = None,dtype = None, name = None,copy = False,fastpath = False) data:表示传入的数据。 index:表示索引,唯一且与数据长度相等,默认会自动创建一个从0~N的整数索引。
通过传入一个列表来创建一个Series类对象:# 创建Series类对象 ser_obj = pd.Series([1, 2, 3, 4, 5]) # 创建Series类对象,并指定索引 ser_obj = pd.Series([1, 2, 3, 4, 5],index=['a', 'b', 'c', 'd', 'e'])
除了使用列表构建Series类对象外,还可以使用dict进行构建。year_data = {2001: 17.8, 2002: 20.1, 2003: 16.5} ser_obj2 = pd.Series(year_data)
为了能方便地操作Series对象中的索引和数据,所以该对象提供了两个属性index和values分别进行获取。# 获取ser_obj的索引 ser_obj.index # 获取ser_obj的数据 ser_obj.values
当然,我们也可以直接使用索引来获取数据。# 获取位置索引3对应的数据 ser_obj[3]
当某个索引对应的数据进行运算以后,其运算的结果会替换原数据,仍然与这个索引保持着对应的关系。
DataFrame:
DataFrame是一个类似于二维数组或表格(如excel)的对象,它每列的数据可以是不同的数据类型。注意: DataFrame的索引不仅有行索引,还有列索引,数据可以有多列。
Pandas的DataFrame类对象可以使用以下构造方法创建:pandas.DataFrame(data = None,index = None,columns = None, dtype = None,copy = False ) index:表示行标签。若不设置该参数,则默认会自动创建一个从0~N的整数索引。columns:列标签。
通过传入数组来创建DataFrame类对象:# 创建数组 demo_arr = np.array([['a', 'b', 'c'],['d', 'e', 'f']]) # 基于数组创建DataFrame对象 df_obj = pd.DataFrame(demo_arr)
在创建DataFrame类对象时,如果为其指定了列索引,则DataFrame的列会按照指定索引的顺序进行排列。df_obj = pd.DataFrame(demo_arr, columns=['No1', 'No2', 'No3&#