當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Pandas DataFrame構造函數用法及代碼示例


Pandas 的 DataFrame(~) 構造函數用於初始化新的 DataFrame。

參數

1.data | scalar2D ndarrayiterabledictDataFrame

dict 可以包含標量和類似數組的對象,例如列表、Series 和 NumPy 數組。

2. index | Indexarray-like | optional

用於 DataFrame 的索引。默認情況下,如果未傳遞indexdata未提供索引,則將使用整數索引。

3. columns | Indexarray-like | optional

用於 DataFrame 的列標簽。默認情況下,如果未傳遞 columns 並且 data 未提供列標簽,則將使用整數索引。

4. dtype | dtype | optional

如果可能,用於 DataFrame 的數據類型。隻允許一種類型,如果類型轉換不成功也不會拋出錯誤。默認情況下, dtype=None ,即推斷數據類型。

5. copy | boolean | optional

僅當 dataDataFrame2D ndarray 時,此參數才相關。

  • 如果True,則返回新的DataFrame。修改返回的 DataFrame 不會影響 data ,反之亦然。

  • 如果是False,那麽修改返回的DataFrame也會改變原來的data,反之亦然。

默認情況下,copy=False

返回值

DataFrame 對象。

例子

使用數組字典

要使用數組字典創建DataFrame:

df = pd.DataFrame({"A":[3,4], "B":[5,6]})
df



   A  B
0  3  5
1  4  6

這裏,字典的鍵值對如下:

  • key:列標簽

  • value:該列的值

此外,由於 data 不包含任何索引(即行標簽),因此使用默認的整數索引。

使用嵌套字典

要使用嵌套字典創建DataFrame:

col_one = {"a":3,"b":4}
col_two = {"a":5,"b":6}
df = pd.DataFrame({"A":col_one, "B":col_two})
df



   A  B
a  3  5
b  4  6

在這裏,我們在 col_onecol_two 中指定了索引。

使用係列

要使用係列創建DataFrame:

s_one = pd.Series([3,4], index=["a","b"])
s_two = pd.Series([5,6], index=["a","b"])
df = pd.DataFrame({"A":s_one, "B":s_two})
df



   A  B
a  3  5
b  4  6

使用二維數組

我們可以傳入 2D 列表或 2D NumPy 數組,如下所示:

df = pd.DataFrame([[3,4],[5,6]])
df



   0  1
0  3  4
1  5  6

請注意默認的行和列標簽是整數索引。

使用常數

要使用單個常量初始化DataFrame,我們需要指定參數columnsindex以定義DataFrame的形狀:

pd.DataFrame(2, index=["a","b"], columns=["A","B","C"])



   A  B  C
a  2  2  2
b  2  2  2

指定列標簽和索引

要顯式設置列標簽和索引(即行標簽):

df = pd.DataFrame([[3,4],[5,6]], columns=["A","B"], index=["a","b"])
df



   A  B
a  3  4
b  5  6

指定數據類型

要設置所有列類型的首選項:

df = pd.DataFrame([["3",4],["5",6]], dtype=float)
df



   0    1
0  3.0  4.0
1  5.0  6.0

請注意 "3" 如何轉換為 float

請注意,即使類型轉換不成功,也不會拋出錯誤。例如:

df = pd.DataFrame([["3@@@",4],["5",6]], dtype=float)
df



   0     1
0  3@@@  4.0
1  5     6.0

這裏,列的數據類型如下:

df.dtypes



0     object
1    float64
dtype: object

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas | DataFrame constructor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。