我尝试使用numpy
下面的代码获取10 x 8 array
import numpy as np
columns = ["Port Wt", "Bench Wt", "Port Retn",
"Bench Retn", "Attrib", "Select", "Inter", "Total"]
a = np.ones([10,len(columns)],
dtype={"names":columns, "formats":["f8"]*len(columns)})
我是numpy的新手,我得到了意想不到的行为 - 我得到的是10 x 8 x 8 grid
。
我试过
a.dtype.names = columns
并获得ValueError: there are no fields defined
我做错了什么?如何根据需要获得10 x 8网格名称?
由于
答案 0 :(得分:1)
您的代码确实生成了10 x 8
数组,即a.shape == (10, 8)
。但是,数组中的每个元素都有8个字段,总共添加10 x 8 x 8
个字段。
所以你可能想要的是一个形状为(10,)
的数组,每个元素有8个字段:
a = np.ones((10,), dtype={"names":columns, "formats":["f8"]*len(columns)})