Pandas dataframe转换为numpy数组

时间:2020-02-23 14:42:07  来源:igfitidea点击:

在本教程中,我们将看到如何将转换Pandas DataFrame转换为Numpy数组。
我们可以将Pandas DataFrame转换为Numpy数组,以执行Numpy库支持的数学计算。

我们可以使用 DataFrame.to_numpy()将Pandas DataFrame转换为Numpy数组。

dataframe.to_numpy()的语法

Dataframe.to_numpy(dtype = None, copy = False)

参数

DTYPE:目标numpy数组的数据类型。
copy:[BOOL,默认为false]是否确保返回的值是另一个数组上的不是视图。

返回

dataframe.to_numpy()返回numpy.ndarray。

示例1:将pandas dataframe转换为numpy数组

以下是将Pandas DataFrame转换为Numpy数组的简单示例。

import pandas as pd
 
#Create a dataframe
df = pd.DataFrame(
[[32, 89, 47,87],
[67, 68, 69,78],
[87, 92, 56,98],
[98, 45, 76,99]],
columns=['C1', 'C2', 'C3','C4'])
 
print(' Original DataFrame\n----------\n', df)
 
#convert dataframe to numpy array
nArray = df.to_numpy()
 
print('-----Numpy Array-----\n',nArray)

输出

Original DataFrame
---------
    C1  C2  C3  C4
0  32  89  47  87
1  67  68  69  78
2  87  92  56  98
3  98  45  76  99
-----Numpy Array----
 [[32 89 47 87]
 [67 68 69 78]
 [87 92 56 98]
 [98 45 76 99]]

示例2:将pandas dataframe转换为numpy数组,mix dtypes

如果我们对混合DTYPES具有DataFrame,则Numpy数组将是最低数据类型的。

例如:python dataframe与 int64QND. float64将转换为numpy类型数组 float64

import pandas as pd
 
#Create a dataframe
df = pd.DataFrame(
[[32, 89.3, 47,87],
[67, 68.2, 69,78],
[87, 92.4, 56,98],
[98, 45.03, 76,99]],
columns=['C1', 'C2', 'C3','C4'])
 
print(' Original DataFrame\n----------\n', df)
 
#convert pandas dataframe to numpy array
nArray = df.to_numpy()
 
print('-----Numpy Array-----\n',nArray)

输出

Original DataFrame
---------
    C1     C2  C3  C4
0  32  89.30  47  87
1  67  68.20  69  78
2  87  92.40  56  98
3  98  45.03  76  99
-----Numpy Array----
 [[32.   89.3  47.   87.  ]
 [67.   68.2  69.   78.  ]
 [87.   92.4  56.   98.  ]
 [98.   45.03 76.   99.  ]]