gpt4 book ai didi

arrays - 将 pandas 数据帧转换为 numpy ndarray

转载 作者:行者123 更新时间:2023-12-02 02:08:47 24 4
gpt4 key购买 nike

我正在使用 pandas 数据框来清理和处理数据。但是,我需要将其转换为 numpy ndarray 才能使用矩阵乘法。我将数据框转换为列表列表,其中包含以下内容:

x = df.tolist()

这将返回以下结构:

[[1, 2], [3, 4], [5, 6], [7, 8] ...]

然后我将其转换为 numpy 数组,如下所示:

x = np.array(x)

但是,打印如下:

print(type(x))
print(type(x[0]))

给出了这个结果:

'numpy.ndarray'
'numpy.float64'

但是,我需要它们都是 numpy 数组。如果它不是来自 pandas 数据框,并且我只是转换硬编码的列表列表,那么它们都是 ndarray。当该列表是从数据框创建时,如何获取列表以及该列表中的列表为 ndarrays ?非常感谢您的阅读,这让我困惑了好几个小时。

最佳答案

我认为你需要values :

df = pd.DataFrame({'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0]})

print (df)
C D
0 7 1
1 8 3
2 9 5
3 4 7
4 2 1
5 3 0

x = df.values
print (x)
[[7 1]
[8 3]
[9 5]
[4 7]
[2 1]
[3 0]]

然后通过索引选择:

print (x[:,0])
[7 8 9 4 2 3]

print (x[:,1])
[1 3 5 7 1 0]

print (type(x[:,0]))
<class 'numpy.ndarray'>
<小时/>

也可以转置数组:

x = df.values.T
print (x)
[[7 8 9 4 2 3]
[1 3 5 7 1 0]]

print (x[0])
[7 8 9 4 2 3]

print (x[1])
[1 3 5 7 1 0]

关于arrays - 将 pandas 数据帧转换为 numpy ndarray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47381033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com