成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來到九壹網(wǎng)。
搜索
您的當前位置:首頁Numpy.dtype的使用

Numpy.dtype的使用

來源:九壹網(wǎng)

Python的NumPy庫中的numpy.dtype的使用

1. 介紹

1.1 菜鳥教程的概念介紹

? 數(shù)據(jù)類型對象(numpy.dtype 類的實例)用來描述與數(shù)組對應的內(nèi)存區(qū)域是如何使用,它描述了數(shù)據(jù)的以下幾個方面:

  • 數(shù)據(jù)的類型(整數(shù),浮點數(shù)或者 Python 對象)
  • 數(shù)據(jù)的大小(例如, 整數(shù)使用多少個字節(jié)存儲)
  • 數(shù)據(jù)的字節(jié)順序(小端法或大端法)
  • 在結(jié)構(gòu)化類型的情況下,字段的名稱、每個字段的數(shù)據(jù)類型和每個字段所取的內(nèi)存塊的部分
  • 如果數(shù)據(jù)類型是子數(shù)組,那么它的形狀和數(shù)據(jù)類型是什么。
1.2 個體的理解(若理解有錯誤,敬請指正)

? 這個numpy.dtype是與numpy.array()中的dtype對象結(jié)合在一起使用的。

? numpy.dtype() 相當于C/C++語言中的結(jié)構(gòu)體中的屬性,并且可以設(shè)置每個屬性的大小范圍,是否對齊等等。之后,把這個結(jié)構(gòu)體的模板放在array數(shù)組的dtype上面,使得在給array賦值的時候,是按照numpy.dtype()中的格式來保存的。

? 其次,必須要保證輸入的元素與numpy.dtype()中的數(shù)據(jù)屬性的個數(shù)和大小范圍對應,否則會出現(xiàn)數(shù)據(jù)不完整。(若數(shù)據(jù)長度超過了numpy.dtype中設(shè)置的長度,則會發(fā)生截斷)。

如果您還不是很明白,請看我下面舉的例子

2. 從代碼類比的角度理解numpy.dtype()

? 這里我們要求一個student的數(shù)據(jù)結(jié)構(gòu),包含姓名(string),性別(string),年齡(int),學號(string)四個屬性,分別使用C/C++和numpy.dtype來保存和輸出2名學生的各種信息。

(‘Alice’,‘女’,‘18’,‘20241016’)

(‘Bob’,‘男’,‘20’,‘20241017’)

2.1 C/C++結(jié)構(gòu)體的使用
// 關(guān)于C/C++中結(jié)構(gòu)體的使用與Python數(shù)據(jù)分析中numpy.dtype的對比

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<string>
#include<cstring>

using namespace std;

// 注意看,結(jié)構(gòu)體是重點,類比于numpy.dtype
struct Student{
	string name; // 姓名
	string gender; // 性別
	int age; // 年齡
	string ID; // 學號
};


int main() {
	Student arr[5];
	// 設(shè)置Alice的信息,并存儲到數(shù)組arr中
	arr[1].name = "Alice";
	arr[1].gender = "女";
	arr[1].age = 18;
	arr[1].ID = "20241016";

	// 設(shè)置Bob的信息,并存儲到數(shù)組arr中
	arr[2].name = "Bob";
	arr[2].gender = "男";
	arr[2].age = 20;
	arr[2].ID = "20241017";
	// 使用for循環(huán)輸出這兩個學生的信息
	for (int i = 1; i <= 2; i++) {
		cout << arr[i].name << " " << arr[i].gender << " " << arr[i].age << " " << arr[i].ID << endl;
	}
	return 0;

}
2.2 Python中numpy.dtype的使用
# 講解numpy.dtype的使用


import numpy as np

# 注意,這里是不是就類比于C/C++中的結(jié)構(gòu)體的信息了。
norm_dtype=np.dtype([("name",'U10'),("gender","U10"),("age",int),("ID",'U10')])
#("name",'U10') 中的U10,是表明name是字符串數(shù)據(jù)類型,長度為10
# 下面開始根據(jù)自定義的數(shù)據(jù)類型創(chuàng)建相應的數(shù)組。

arr=np.array([[("Alice","女",18,"20241016")],[("Bob",'男',20,'20241017')]],dtype=norm_dtype) 
# 注意看 dtype=norm_dtype  這就告訴了我們,要根據(jù)這個形式來輸入元素

print(arr[0]) #[('Alice', '女', 18, '20241016')]
print(arr[1]) #[('Bob', '男', 20, '20241017')]
# 同樣,我還用根據(jù)相應的數(shù)據(jù)屬性名稱來訪問相應的值
print(arr[0]['age'])  # 18

到這里,大家應該可以很清楚的認識到,Python中numpy.dtype的使用與C/C++中結(jié)構(gòu)體的使用是類似的。

因篇幅問題不能全部顯示,請點此查看更多更全內(nèi)容

Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2

違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市萬商天勤律師事務所王興未律師提供法律服務