NumPy datatipes
Datatipes in Python
By verstek het Python hierdie datatipes:
strings
- gebruik om teksdata voor te stel, die teks word onder aanhalingstekens gegee. bv "ABCD"integer
- gebruik om heelgetalle voor te stel. bv -1, -2, -3float
- gebruik om reële getalle voor te stel. bv 1,2, 42,42boolean
- word gebruik om Waar of Onwaar voor te stel.complex
- gebruik om komplekse getalle voor te stel. bv 1.0 + 2.0j, 1.5 + 2.5j
Datatipes in NumPy
NumPy het 'n paar ekstra datatipes, en verwys na datatipes met een karakter, soos i
vir heelgetalle, u
vir ongetekende heelgetalle ens.
Hieronder is 'n lys van alle datatipes in NumPy en die karakters wat gebruik word om hulle voor te stel.
i
- heelgetalb
- booleanu
- ongetekende heelgetalf
- dryfc
- komplekse vlotm
- tyddeltaM
- Datum TydO
- voorwerpS
- touU
- Unicode-stringV
- Vaste stuk geheue vir ander tipe (leeg)
Kontroleer die datatipe van 'n skikking
Die NumPy skikking voorwerp het 'n eienskap genoem dtype
wat die datatipe van die skikking terugstuur:
Voorbeeld
Kry die datatipe van 'n skikkingsvoorwerp:
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)
Voorbeeld
Kry die datatipe van 'n skikking wat stringe bevat:
import numpy as np
arr = np.array(['apple',
'banana', 'cherry'])
print(arr.dtype)
Skep skikkings met 'n gedefinieerde datatipe
Ons gebruik die array()
funksie om skikkings te skep, hierdie funksie kan 'n opsionele argument neem: dtype
dit laat ons toe om die verwagte datatipe van die skikkingselemente te definieer:
Voorbeeld
Skep 'n skikking met datatipe string:
import numpy as np
arr = np.array([1, 2, 3, 4],
dtype='S')
print(arr)
print(arr.dtype)
Vir i
, u
, f
,
S
en U
ons kan ook grootte definieer.
Voorbeeld
Skep 'n skikking met datatipe 4 grepe heelgetal:
import numpy as np
arr = np.array([1, 2, 3, 4],
dtype='i4')
print(arr)
print(arr.dtype)
Wat as 'n waarde nie omgeskakel kan word nie?
As 'n tipe gegee word waarin elemente nie uitgegooi kan word nie, sal NumPy 'n ValueError opwek.
ValueError: In Python word ValueError opgewek wanneer die tipe argument wat aan 'n funksie geslaag is, onverwags/verkeerd is.
Voorbeeld
'n Nie-heelgetalstring soos 'a' kan nie na heelgetal omgeskakel word nie (sal 'n fout opwek):
import numpy as np
arr = np.array(['a', '2', '3'], dtype='i')
Omskakeling van datatipe op bestaande skikkings
Die beste manier om die datatipe van 'n bestaande skikking te verander, is om 'n kopie van die skikking met die astype()
metode te maak.
Die astype()
funksie skep 'n kopie van die skikking, en laat jou toe om die datatipe as 'n parameter te spesifiseer.
Die datatipe kan gespesifiseer word deur 'n string te gebruik, soos 'f'
vir float,
'i'
vir heelgetal ens. of jy kan die datatipe direk gebruik soos
float
vir float en int
vir heelgetal.
Voorbeeld
Verander datatipe van dryf na heelgetal deur 'i'
as parameterwaarde te gebruik:
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)
Voorbeeld
Verander datatipe van dryf na heelgetal deur int
as parameterwaarde te gebruik:
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr)
print(newarr.dtype)
Voorbeeld
Verander datatipe van heelgetal na boolean:
import numpy as np
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)