DataFrame 是一個表格型的資料結構,它含有一組有序的列,每列可以是不同的值類型(數值、字元串、布爾型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 組成的字典(共同用一個索引)。

DataFrame 構造方法如下:
參數說明:
<b>data</b>:一組資料(ndarray、series, map, lists, dict 等類型)。
<b>index</b>:索引值,或者可以稱為行标簽。
<b>columns</b>:列标簽,預設為 RangeIndex (0, 1, 2, …, n) 。
<b>dtype</b>:資料類型。
<b>copy</b>:拷貝資料,預設為 False。
Pandas DataFrame 是一個二維的數組結構,類似二維數組。
import pandas as pd
data = [['Google',10],['Runoob',12],['Wiki',13]]
df = pd.DataFrame(data,columns=['Site','Age'],dtype=float)
print(df)
輸出結果如下:
以下執行個體使用 ndarrays 建立,ndarray 的長度必須相同, 如果傳遞了 index,則索引的長度應等于數組的長度。如果沒有傳遞索引,則預設情況下,索引将是range(n),其中n是數組長度。
ndarrays 可以參考:NumPy Ndarray 對象
data = {'Site':['Google', 'Runoob', 'Wiki'], 'Age':[10, 12, 13]}
df = pd.DataFrame(data)
print (df)
從以上輸出結果可以知道, DataFrame 資料類型一個表格,包含 rows(行) 和 columns(列):
還可以使用字典(key/value),其中字典的 key 為列名:
data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}]
輸出結果為:
沒有對應的部分資料為 NaN。
Pandas 可以使用 loc 屬性傳回指定行的資料,如果沒有設定索引,第一行索引為 0,第二行索引為 1,以此類推:
data = {
"calories": [420, 380, 390],
"duration": [50, 40, 45]
}
# 資料載入到 DataFrame 對象
# 傳回第一行
print(df.loc[0])
# 傳回第二行
print(df.loc[1])
注意:傳回結果其實就是一個 Pandas Series 資料。
也可以傳回多行資料,使用 [[ ... ]] 格式,... 為各行的索引,以逗号隔開:
# 傳回第一行和第二行
print(df.loc[[0, 1]])
注意:傳回結果其實就是一個 Pandas DataFrame 資料。
我們可以指定索引值,如下執行個體:
df = pd.DataFrame(data, index = ["day1", "day2", "day3"])
Pandas 可以使用 loc 屬性傳回指定索引對應到某一行:
# 指定索引
print(df.loc["day2"])