Typy danych NumPy
Typy danych w Pythonie
Domyślnie Python ma następujące typy danych:
strings
- służy do przedstawiania danych tekstowych, tekst podawany jest w cudzysłowie. np. „ABCD”integer
- używane do reprezentowania liczb całkowitych. np. -1, -2, -3float
- używane do reprezentowania liczb rzeczywistych. np. 1,2, 42,42boolean
- używane do reprezentowania prawdy lub fałszu.complex
- używany do reprezentowania liczb zespolonych. np. 1,0 + 2,0j, 1,5 + 2,5j
Typy danych w NumPy
NumPy ma kilka dodatkowych typów danych i odwołuje się do typów danych z jednym znakiem, takich jak i
liczby całkowite, liczby u
całkowite bez znaku itp.
Poniżej znajduje się lista wszystkich typów danych w NumPy i znaków używanych do ich reprezentowania.
i
- liczba całkowitab
- logiczneu
- liczba całkowita bez znakuf
- Platformac
- złożony pływakm
- delta czasuM
- data i godzinaO
- obiektS
- strunowyU
- ciąg UnicodeV
- naprawiono fragment pamięci dla innego typu ( void )
Sprawdzanie typu danych tablicy
Obiekt tablicy NumPy ma właściwość o nazwie dtype
, która zwraca typ danych tablicy:
Przykład
Pobierz typ danych obiektu tablicy:
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)
Przykład
Pobierz typ danych tablicy zawierającej ciągi:
import numpy as np
arr = np.array(['apple',
'banana', 'cherry'])
print(arr.dtype)
Tworzenie tablic ze zdefiniowanym typem danych
Używamy array()
funkcji do tworzenia tablic, ta funkcja może przyjmować opcjonalny argument: dtype
który pozwala nam zdefiniować oczekiwany typ danych elementów tablicy:
Przykład
Utwórz tablicę z ciągiem typu danych:
import numpy as np
arr = np.array([1, 2, 3, 4],
dtype='S')
print(arr)
print(arr.dtype)
Dla i
, u
, f
i
możemy również zdefiniować rozmiar S
.U
Przykład
Utwórz tablicę z typem danych 4 bajty liczba całkowita:
import numpy as np
arr = np.array([1, 2, 3, 4],
dtype='i4')
print(arr)
print(arr.dtype)
Co się stanie, jeśli wartości nie można przekonwertować?
Jeśli podano typ, w którym elementy nie mogą być rzutowane, NumPy zgłosi ValueError.
ValueError: W Pythonie ValueError jest wywoływane, gdy typ argumentu przekazanego do funkcji jest nieoczekiwany/niepoprawny.
Przykład
Łańcucha niecałkowitego, takiego jak „a”, nie można przekonwertować na liczbę całkowitą (zgłosi błąd):
import numpy as np
arr = np.array(['a', '2', '3'], dtype='i')
Konwersja typu danych na istniejących tablicach
Najlepszym sposobem zmiany typu danych istniejącej tablicy jest wykonanie kopii tablicy za pomocą astype()
metody.
Funkcja astype()
tworzy kopię tablicy i pozwala określić typ danych jako parametr.
Typ danych można określić za pomocą ciągu znaków, np . dla liczby 'f'
zmiennoprzecinkowej,
'i'
liczby całkowitej itp. lub możesz użyć typu danych bezpośrednio, na przykład
dla liczby float
zmiennoprzecinkowej i int
liczby całkowitej.
Przykład
Zmień typ danych z liczby zmiennoprzecinkowej na liczbę całkowitą, używając 'i'
jako wartości parametru:
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)
Przykład
Zmień typ danych z liczby zmiennoprzecinkowej na liczbę całkowitą, używając int
jako wartości parametru:
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr)
print(newarr.dtype)
Przykład
Zmień typ danych z liczby całkowitej na wartość logiczną:
import numpy as np
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)