首页常见问题正文

怎样通过DataFrame类的构造方法创建二维数据?

更新时间:2023-10-25 来源:黑马程序员 浏览量:

DataFrame 也是由 pandas库提供的一个类,DataFrame类对象的结构类似于二维数组或表格。与Series类对象类似,DataFrame类对象也由索引和数据组成,但该对象有两组索引,分别是行索引和列索引。DataFrame类对象的结构示意图如图所示。

1698217572462_索引.png

DataFrame类对象的结构示意图

在图中,DataFrame类对象的行索引位于最左侧一列,列索引位于最上面一行。DataFrame类对象其实可以视为若干个公用行索引的Series类对象的组合,该对象的每一列数据都是一个Series类对象。

通过DataFrame类的构造方法可以创建二维数据。DataFrame类构造方法的语法格式如下。

pandas.DataFrame (data-None, Index-tone, columns-None,               
dtype=None, copy=False)

以上构造方法中各参数的含义如下。

·data:表示传入的数据,可以是ndaray、字典、列表或可迭代对象。

·index:表示行索引,默认生成0~N的整数索引。

·columns:表示列索引,默认生成0~N的整数索引。

·dtype:表示数据的类型。

·copy:表示是否复制数据,默认为False。

接下来,通过在DataFrame0方法中传入二维数组的方式创建DataFrame类对象,代码如下。

In []:   inport numpy as np
         inport pandas as pd
         # 创建二维数组
         demo_arr = np.array([['a', 'b', 'c'], ['d', 'e', 'f']])
         df_obj = pd. DataFrame (demo_arr)     # 根据二维数组创建DataFrame类对象
         print (df_cbj)
           0 1 2
         0 a b c
         1 d e f

以上代码首先创建了一个2行3列的二维数组demo_arr,然后根据demo_arr创建了一个DataFrame类对象d_obj。从输出结果可以看出,df_obj对象一共有3列数据,其行索引与列索引均为自动生成的整数索引。

在创建DataFrame类对象时,可以通过给index和columns参数传值的方式指定行索引与列索引,使该对象拥有自定义的标签索引,代码如下。

In []:  # 创建DataFrame类对象,同时指定行索引与列素引
df_obj = pd.DataFrame(demo_arr, index = ['row_01', 'row_02'],
                      columns={'col_01', 'col_02', 'col_03'})
                      
print (df_obj)
         col_01 col_02 col_03
row_01    a      b     c
row_02    d      e     f


分享到:
在线咨询 我要报名
和我们在线交谈!