详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法

  • Post category:Python

转换Pandas中的DataFrame类型到Numpy中的array类型是数据科学和机器学习中的常见操作之一,有时候需要在不同的数据处理与分析库中传输数据,解释下面对于数据类型转换的三种方法。

方法一:直接调用DataFrame中的values属性

DataFrame中的values属性可以将DataFrame直接转换为numpy中的array类型。举例如下:

import pandas as pd
import numpy as np

# 创建一个DataFrame
df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Cathy', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['Beijing', 'Shanghai', 'Chengdu', 'Shenzhen']
})

# 转换为numpy数组
df_numpy = df.values

print(type(df_numpy))
print(df_numpy)

输出结果如下:

<class 'numpy.ndarray'>
[['Alice' 25 'Beijing']
 ['Bob' 32 'Shanghai']
 ['Cathy' 18 'Chengdu']
 ['David' 47 'Shenzhen']]

通过以上代码,我们成功将DataFrame类型的数据转换为了Numpy数组的形式。

方法二:使用to_numpy()方法

在Pandas版本0.24以上引入了.to_numpy()方法可以相对方便地将DataFrame类型转换为Numpy中的数组形式。举例如下:

import pandas as pd

# 创建一个DataFrame
df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Cathy', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['Beijing', 'Shanghai', 'Chengdu', 'Shenzhen']
})

# 使用to_numpy()方法转换为numpy数组
df_numpy = df.to_numpy()

print(type(df_numpy))
print(df_numpy)

输出结果如下:

<class 'numpy.ndarray'>
[['Alice' 25 'Beijing']
 ['Bob' 32 'Shanghai']
 ['Cathy' 18 'Chengdu']
 ['David' 47 'Shenzhen']]

方法三:调用numpy库中的asarray()函数

最后一种方法是使用Numpy库中的asarray()函数将DataFrame类型转换为Numpy中的数组形式。举例如下:

import pandas as pd
import numpy as np

# 创建一个DataFrame
df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Cathy', 'David'],
    'age': [25, 32, 18, 47],
    'city': ['Beijing', 'Shanghai', 'Chengdu', 'Shenzhen']
})

# 调用asarray()函数转换为numpy数组
df_numpy = np.asarray(df)

print(type(df_numpy))
print(df_numpy)

输出结果如下:

<class 'numpy.ndarray'>
[['Alice' 25 'Beijing']
 ['Bob' 32 'Shanghai']
 ['Cathy' 18 'Chengdu']
 ['David' 47 'Shenzhen']]

以上是将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法的攻略,这些方法可以让你在处理多种数据处理与分析库之间的数据转换时更加方便快捷。