繁体   English   中英

如何从 dataframe 创建 numpy 阵列?

[英]How to create numpy array from dataframe?

我正在使用包含 4 列的Pandas DataFrame:“TV”、“Radio”、“Newspaper”和“Sales”。 我需要创建两个NumPy arrays: X包含前 3 列, y包含“销售”列。 我发现有两种方法可以从Pandas DataFrame 创建NumPy数组:

import numpy as np
X = np.array(adver_data.iloc[:,0:3].values)
y = np.array(adver_data["Sales"].values)

和:

import numpy as np
X = adver_data[['TV', 'Radio', 'Newspaper']].values
y = adver_data[['Sales']].values

问题是,即使这两种方法实际上创建了一个NumPy数组,我的代码也为这两种方法给出了不同的结果,我不知道为什么,因为我看不出这两种方法的 arrays 有何不同。

有什么区别?

假设您有“ n ”行数据。

编码:

y = np.array(adver_data["Sales"].values)

给出y的形状为(n,)一维数组

而代码:

y = adver_data[['Sales']].values

给出y的形状为(n, 1)二维数组

所以,你会得到不同的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM