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


Python Pandas DataFrame to_numpy方法用法及代碼示例


Pandas DataFrame.to_numpy(~) 方法將 DataFrame 的值作為 2D NumPy 數組返回。

參數

1.dtype | stringtype | optional

返回的 NumPy 數組所需的數據類型。默認情況下,數據類型將是數組值的通用類型。請參閱下麵的示例以進行說明。

2. copy | boolean | optional

  • 如果 True ,則創建一個新的 NumPy 數組。修改此數組不會影響源DataFrame,反之亦然。

  • 如果是 False ,則返回對 DataFrame 的 NumPy 數組表示形式的引用。這意味著如果修改數組,那麽原來的DataFrame也會被修改,反之亦然。

默認情況下 copy=False

返回值

Numpy array 保存源 DataFrame 的所有值。

例子

獲取 NumPy 數組表示

考慮以下 DataFrame :

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



   A  B
0  1  3
1  2  4

要將 df 的值獲取為 NumPy 數組:

df.to_numpy()



array([[1, 3],
       [2, 4]])

返回NumPy數組的數據類型

考慮以下 DataFrame :

df = pd.DataFrame({"A":[1,2], "B":[3.0,4.0]})
df



   A  B
0  1  3.0
1  2  4.0

這裏,列 A 的類型為 int ,而列 B 的類型為 float

NumPy 數組的限製是它們的所有值都必須是一種類型。由於我們的 df 有兩種類型,因此 to_numpy(~) 方法將選擇使用 float,因為 int 可以使用 float 表示:

df.to_numpy().dtype



dtype('float64')

創建新副本

考慮以下 DataFrame :

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



   A  B
0  1  3
1  2  4

要創建新的 NumPy 數組,請設置 copy=True 。在下麵的代碼片段中,我們修改數組的第一個值並檢查源 DataFrame df 是否已被修改:

arr = df.to_numpy(copy=True)
arr[0,0] = 5
df



   A  B
0  1  3
1  2  4

請注意 DataFrame ( 1 ) 的第一個值如何保持不變,因為 arrdf 的副本。

相關用法


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