所以我试图创建一个数组,然后按名称访问列。所以我想出了类似的东西:
import numpy as np
data = np.ndarray(shape=(3,1000),
dtype=[('x',np.float64),
('y',np.float64),
('z',np.float64)])
我很困惑为什么
data.shape
和
data['x'].shape
两者都回来了(3,1000),当我试图填充我的数据字段时,这会引起我的问题
data['x'] = xvalues
其中xvalues的形状为(1000,)。有更好的方法吗?
答案 0 :(得分:1)
之所以出现同样原因,是因为“数据”的结构比形状所显示的结构要多一些。
示例:
data[0][0] returns
:
(6.9182540632428e-310,6.982540633353e-310,6.9182540633851e-310)
data['x'][0][0]:
返回6.9182540632427993e-310
因此数据包含3行和1000列,其元素是3元组。
data ['x']是3行和1000列所有组合的元组的第一个元素,因此形状也是(3,1000)。
答案 1 :(得分:0)
只需设置..
String q = "SELECT user FROM admin_dba.Empolyees where id < ? and id > 25";
try {
con = DataSourceUtils.getConnection(dataSource);
pst = con.prepareStatement(q);
pst.setLong(1, id);
rs = pst.executeQuery();
...
即可。三重dtype将创建3列。