引入numpy模塊
首先,我們需要引入numpy模塊來使用其中的功能。在Python中,使用import語句可以將一個模塊導入到當前代碼中。對于numpy模塊,我們可以使用以下代碼進行導入:```pythonimport
首先,我們需要引入numpy模塊來使用其中的功能。在Python中,使用import語句可以將一個模塊導入到當前代碼中。對于numpy模塊,我們可以使用以下代碼進行導入:
```python
import numpy as np
```
這樣,我們就可以在代碼中使用numpy庫的函數(shù)和類了。
創(chuàng)建ndarray對象
在numpy中,ndarray是一個多維數(shù)組對象,用于存儲同類型的元素。默認情況下,ndarray的數(shù)據(jù)類型為int32,即32位整數(shù)。我們可以使用()函數(shù)來創(chuàng)建一個ndarray對象,并通過print()函數(shù)輸出其值和數(shù)據(jù)類型。
```python
arr1 ([1, 2, 3])
print(arr1)
print(arr1.dtype) 輸出數(shù)組的數(shù)據(jù)類型,默認為int32
```
輸出結果為:
```
[1 2 3]
int32
```
自動推斷數(shù)據(jù)類型
當我們創(chuàng)建一個包含浮點數(shù)的數(shù)組時,默認的數(shù)據(jù)類型會被自動推斷為float64,即64位浮點數(shù)。
```python
arr1 ([1.22, 2.32, 3.43])
print(arr1)
print(arr1.dtype) 輸出數(shù)組的數(shù)據(jù)類型,默認為float64
```
輸出結果為:
```
[1.22 2.32 3.43]
float64
```
即使我們在數(shù)組中混合了整數(shù)和浮點數(shù),數(shù)據(jù)類型仍然會被推斷為float64。
```python
arr1 ([1.22, 2.32, 3.43, 88])
print(arr1)
print(arr1.dtype) 輸出數(shù)組的數(shù)據(jù)類型,默認為float64
```
輸出結果為:
```
[ 1.22 2.32 3.43 88. ]
float64
```
指定數(shù)據(jù)類型
在創(chuàng)建數(shù)組時,我們也可以指定數(shù)據(jù)類型。使用dtype參數(shù)來指定想要的數(shù)據(jù)類型。
```python
arr1 ([1, 2, 3], dtype)
print(arr1)
print(arr1.dtype) 輸出數(shù)組的數(shù)據(jù)類型為int8
```
輸出結果為:
```
[1 2 3]
int8
```
修改數(shù)據(jù)類型
如果我們想要修改已有ndarray對象的數(shù)據(jù)類型,可以使用astype()函數(shù)。astype()函數(shù)將返回一個新的數(shù)組,其中的元素類型根據(jù)指定的數(shù)據(jù)類型進行改變。
```python
float1 (np.float16)
print(float1)
print(float1.dtype) 輸出新數(shù)組的數(shù)據(jù)類型為float16
```
輸出結果為:
```
[1. 2. 3.]
float16
```
賦予其他數(shù)組的數(shù)據(jù)類型
除了使用astype()函數(shù)外,我們還可以直接將另一個數(shù)組的數(shù)據(jù)類型賦給某個數(shù)組,從而修改其數(shù)據(jù)類型。
```python
arr2 ([4, 5, 6])
print(arr2.dtype)
print(arr2)
g (float1.dtype)
print(g.dtype)
print(g)
```
輸出結果為:
```
int32
[4 5 6]
float16
[4. 5. 6.]
```
通過以上方法,我們可以輕松地定義和修改numpy中ndarray的數(shù)據(jù)類型,以滿足不同的需求。