更新時間:2023-10-25 來源:黑馬程序員 瀏覽量:
DataFrame 也是由
pandas庫提供的一個類,DataFrame類對象的結構類似于二維數組或表格。與Series類對象類似,DataFrame類對象也由索引和數據組成,但該對象有兩組索引,分別是行索引和列索引。DataFrame類對象的結構示意圖如圖所示。
DataFrame類對象的結構示意圖
在圖中,DataFrame類對象的行索引位于最左側一列,列索引位于最上面一行。DataFrame類對象其實可以視為若干個公用行索引的Series類對象的組合,該對象的每一列數據都是一個Series類對象。
通過DataFrame類的構造方法可以創(chuàng)建二維數據。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方法中傳入二維數組的方式創(chuàng)建DataFrame類對象,代碼如下。
In []: inport numpy as np inport pandas as pd # 創(chuàng)建二維數組 demo_arr = np.array([['a', 'b', 'c'], ['d', 'e', 'f']]) df_obj = pd. DataFrame (demo_arr) # 根據二維數組創(chuàng)建DataFrame類對象 print (df_cbj) 0 1 2 0 a b c 1 d e f
以上代碼首先創(chuàng)建了一個2行3列的二維數組demo_arr,然后根據demo_arr創(chuàng)建了一個DataFrame類對象d_obj。從輸出結果可以看出,df_obj對象一共有3列數據,其行索引與列索引均為自動生成的整數索引。
在創(chuàng)建DataFrame類對象時,可以通過給index和columns參數傳值的方式指定行索引與列索引,使該對象擁有自定義的標簽索引,代碼如下。
In []: # 創(chuàng)建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