当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。