dt = np.dtype([('id','int16'),('name','u4'),('age','int16'),('weight','float16')]) da = np.array([('1','a1','20','70.1'),('2','b2','30','72.5'),('3','c3','34','80.2')], dt) print(da) print(da.dtype)
时间: 2023-08-20 11:51:40 浏览: 98
这段代码定义了一个复合数据类型(structured data type)`dt`,其中包含了四个字段:id(int16)、name(u4)、age(int16)和weight(float16)。
接下来,使用定义好的数据类型`dt`创建了一个数组`da`,数组中包含了三个元素,每个元素都是一个包含了四个字段值的元组。注意,元组中的值被用引号括起来,表示它们是字符串。
最后,打印出数组`da`和它的数据类型。输出如下所示:
```
[(1, 'a1', 20, 70.099609375) (2, 'b2', 30, 72.5 )
(3, 'c3', 34, 80.19921875 )]
[('id', '<i2'), ('name', '<U4'), ('age', '<i2'), ('weight', '<f2')]
```
其中,第一行打印出了数组`da`的内容,每个元素都以元组形式呈现。第二行打印出了数组`da`的数据类型,其中每个字段的名称和对应的数据类型都有详细说明。
相关问题
dt = np.dtype([('age',np.int8)]) a = np.array([(10,),(20,),(30,)], dtype = dt)
这段代码定义了一个名为`dt`的NumPy数据类型,该数据类型包含了一个名为`age`的字段,字段类型为`np.int8`,即8位整型。 接着,使用这个数据类型`dt`创建了一个NumPy数组`a`,该数组由3个元素组成,每个元素都有一个名为`age`的字段,字段值分别为10、20、30,对应的数据类型为`np.int8`。注意,这里数组的每个元素都是一个元组,因为每个元素都只有一个字段。
def load_cora(): path = 'data/cora/' data_name = 'cora' print('Loading from raw data file...') idx_features_labels = np.genfromtxt("{}{}.content".format(path, data_name), dtype=np.dtype(str)) features = sp.csr_matrix(idx_features_labels[:, 1:-1], dtype=np.float32) _, _, labels = np.unique(idx_features_labels[:, -1], return_index=True, return_inverse=True) idx = np.array(idx_features_labels[:, 0], dtype=np.int32) idx_map = {j: i for i, j in enumerate(idx)} edges_unordered = np.genfromtxt("{}{}.cites".format(path, data_name), dtype=np.int32) edges = np.array(list(map(idx_map.get, edges_unordered.flatten())), dtype=np.int32).reshape(edges_unordered.shape) adj = sp.coo_matrix((np.ones(edges.shape[0]), (edges[:, 0], edges[:, 1])), shape=(labels.shape[0], labels.shape[0]), dtype=np.float32) adj = adj.T + adj adj = adj.minimum(1) return features.toarray(), idx_map, adj.toarray(), labels
这是一个函数,用于从Cora数据集的原始数据文件中加载数据。它返回特征、节点索引映射、邻接矩阵和标签。具体来说,它使用numpy库中的genfromtxt函数从包含节点特征和标签的文件中加载数据;使用coo_matrix函数从包含节点之间引用关系的文件中加载数据,并将其转换为邻接矩阵形式;最后,对邻接矩阵进行了处理,使其成为一个二元关系矩阵。
阅读全文