Numpy中如何从Pandas dataframe创建2D数组
在本文中,我们将介绍如何使用Numpy从Pandas dataframe创建2D数组。Numpy是Python的一个重要的数学库,它可以帮助我们进行高效的数值计算和数据分析。而Pandas是基于Numpy的数据分析库,它提供了非常方便的数据结构和数据分析工具。
首先,我们需要导入Numpy和Pandas库,并创建一个示例dataframe:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0, 10, size=(5, 2)), columns=list('AB'))
print(df)
输出结果:
A B
0 7 3
1 9 0
2 6 7
3 2 5
4 2 2
接下来,我们可以使用Numpy的array()
函数从dataframe创建2D数组:
arr = np.array(df)
print(arr)
输出结果:
[[7 3]
[9 0]
[6 7]
[2 5]
[2 2]]
这样我们就成功地从Pandas dataframe创建了一个2D数组。值得注意的是,这个2D数组中的元素类型是int64,和Pandas dataframe中的元素类型是一致的。
如果我们希望创建一个浮点数类型的2D数组,可以使用astype()
函数进行类型转换:
arr = np.array(df).astype(float)
print(arr)
输出结果:
[[7. 3.]
[9. 0.]
[6. 7.]
[2. 5.]
[2. 2.]]
除了从Pandas dataframe创建2D数组,我们还可以从其他的数据结构创建2D数组。例如,我们可以使用Python内置的list
数据结构创建一个二维列表(也可以是Numpy的ndarray数组),然后再使用Numpy的array()
函数将其转换为2D数组。
arr_list = [[1, 2], [3, 4], [5, 6]]
arr = np.array(arr_list)
print(arr)
输出结果:
[[1 2]
[3 4]
[5 6]]
与此相似的,我们还可以使用Python的tuple数据结构创建一个二元组(也可以是Numpy的ndarray数组),然后再使用Numpy的array()
函数将其转换为2D数组。
arr_tuple = ((1, 2), (3, 4), (5, 6))
arr = np.array(arr_tuple)
print(arr)
输出结果:
[[1 2]
[3 4]
[5 6]]
阅读更多:Numpy 教程
总结
本文介绍了如何使用Numpy从Pandas dataframe创建2D数组,以及从其他的数据结构创建2D数组的方法。使用Numpy可以方便地进行高效的数值计算和数据分析。如果您还没有学习Numpy和Pandas,建议您先学习这两个库的基础知识,再深入了解它们的高级功能和用法。