Pandas Dataframe.to_numpy() – 将数据框架转换为Numpy数组
Pandas DataFrame是一个二维的大小可变的,可能是异质的表格数据结构,有标记的axis(行和列)。这种数据结构可以在Dataframe.to_numpy()方法的帮助下转换为NumPy ndarray。
Pandas Dataframe.to_numpy()的语法
语法: Dataframe.to_numpy(dtype = None, copy = False)
参数:
- dtype:我们要传递的数据类型,如str。
- copy : [bool, default False] 确保返回值不是另一个数组的视图。
返回值: numpy.ndarray
将数据框架转换为Numpy数组
这里,我们将看到如何将Dataframe转换为Numpy数组。
import pandas as pd
# initialize a dataframe
df = pd.DataFrame(
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]],
columns=['a', 'b', 'c'])
# convert dataframe to numpy array
arr = df.to_numpy()
print('\nNumpy Array\n----------\n', arr)
print(type(arr))
输出:
Numpy Array
----------
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
<class 'numpy.ndarray'>
示例 1:
在这里,我们使用CSV文件,通过使用DataFrame.to_numpy()方法将Dataframe变为Numpy数组。之后,我们通过使用df.head()方法打印Weight列的前五个值。
# importing pandas
import pandas as pd
# reading the csv
data = pd.read_csv("nba.csv")
data.dropna(inplace=True)
# creating DataFrame form weight column
df = pd.DataFrame(data['Weight'].head())
# using to_numpy() function
print(df.to_numpy())
输出:
[[180.]
[235.]
[185.]
[235.]
[238.]]
示例 2:
在这个例子中,我们只是在同一个代码中提供参数,在这里提供dtype。
# importing pandas
import pandas as pd
# read csv file
data = pd.read_csv("nba.csv")
data.dropna(inplace=True)
# creating DataFrame form weight column
df = pd.DataFrame(data['Weight'].head())
# providing dtype
print(df.to_numpy(dtype='float32'))
输出:
[[180.]
[235.]
[185.]
[235.]
[238.]]
示例 3:
转换后验证数组的类型。
# importing pandas
import pandas as pd
# reading csv
data = pd.read_csv("nba.csv")
data.dropna(inplace=True)
# creating DataFrame form weight column
df = pd.DataFrame(data['Weight'].head())
# using to_numpy()
print(type(df.to_numpy()))
输出:
<class 'numpy.ndarray'>