Ściągawka Numpy: niezbędna analiza danych w Pythonie

Ściągawka Numpy: niezbędna analiza danych w Pythonie

Jako analityk danych pracujący z Pythonem najprawdopodobniej natknąłeś się na bibliotekę NumPy . Jest to jeden z podstawowych pakietów do obliczeń naukowych w Pythonie .

Dzięki możliwości wykonywania wysokowydajnych operacji na tablicach wielowymiarowych, NumPy jest niezbędnym narzędziem dla każdego, kto zagłębia się w naukę o danych lub obliczenia numeryczne w Pythonie.

Ściągawka NumPy może być doskonałym źródłem informacji, które pomogą Ci poprowadzić Twoją podróż do tej biblioteki Pythona. Obszerna ściągawka pomoże ci poruszać się po funkcjach NumPy i szybko stać się biegłym w używaniu go do różnych zadań!

Pamiętaj też, że NumPy stanowi rdzeń ważnych bibliotek, takich jak Pandas, SciPy, sci-kit-learn i inne pakiety Pythona.

Opanowanie jego podstaw za pomocą ściągawki Python NumPy zapewni lepsze przygotowanie do pracy z tymi bibliotekami. Będziesz także rozwijać swoje umiejętności w zakresie obsługi złożonych struktur danych i obliczeń.

Czy jesteś starym uczniem (tak jak my) i chcesz pobrać i potencjalnie wydrukować ściągawkę?

Przewiń w dół, aby to zrobić.

Spis treści

Podstawy NumPy

W tej sekcji omówimy podstawy NumPy, koncentrując się na instalowaniu NumPy, tworzeniu tablic, atrybutach tablic i typach danych. Te koncepcje zapewnią solidne podstawy do zrozumienia i efektywnego wykorzystania NumPy w projektach nauki o danych w języku Python.

1. Instalowanie i importowanie NumPy

Możesz zainstalować NumPy z wiersza poleceń, używając poniższego polecenia:

pip install numpy

Po zainstalowaniu zaimportuj go do swojego kodu.

import numpy as np

Pamiętaj, że możesz użyć dowolnej innej nazwy oprócz np . Jednak np jest standardową konwencją importu NumPy używaną przez większość programistów i analityków danych.

2. Tworzenie macierzy

Tworzenie tablic w NumPy jest proste i jednoznaczne. Możesz tworzyć tablice z list lub krotek za pomocą funkcji numpy.array() :

import numpy as np

a = np.array([1, 2, 3])  # Creates a 1D array
b = np.array([(1, 2, 3), (4, 5, 6)])  # Creates a 2D array

Możesz także generować tablice o określonych kształtach i wartościach za pomocą różnych funkcji:

  • np.zeros() : Tworzy tablicę wypełnioną zerami

  • np.ones() : Tworzy tablicę wypełnioną jedynkami

  • np.identity() : Tworzy tablicę macierzy tożsamości.

  • np.empty() : Tworzy tablicę bez inicjowania jej elementów do określonej wartości

  • np.arange() : Tworzy tablicę z regularnie rozmieszczonymi wartościami między wartością początkową a końcową

  • np.linspace() : Tworzy tablicę z określoną liczbą równomiernie rozmieszczonych wartości między wartością początkową a końcową

Ściągawka Numpy: niezbędna analiza danych w Pythonie

Uwaga: nie można wygenerować pustej tablicy w NumPy. Każda tablica NumPy ma stały, niezmienny rozmiar, a każdy element w tablicy musi być wypełniony podczas tworzenia tablicy.

Funkcja np.empty () tworzy wymaganą tablicę i wypełnia ją losowymi wartościami. Domyślna metoda tworzy tablicę losowych elementów zmiennoprzecinkowych.

Możesz utworzyć inny typ danych tablicy za pomocą parametru dtype .

3. Atrybuty tablicy

Tablice NumPy mają kilka atrybutów, które dostarczają przydatnych informacji o tablicy. Przyjrzyjmy się niektórym z nich:

  • ndarray.shape: Zwraca wymiary tablicy jako krotkę (wiersze, kolumny)

  • ndarray.ndim: Zwraca liczbę wymiarów w tablicy

  • ndarray.size: Zwraca całkowitą liczbę elementów w tablicy

  • ndarray.dtype: Zwraca typ danych elementów tablicy

Aby uzyskać dostęp do tych atrybutów, użyj notacji kropkowej, na przykład:

a = np.array([(1, 2, 3), (4, 5, 6)])

#Print out the array shape
print(a.shape)  # Output: (2, 3)

Ściągawka Numpy: niezbędna analiza danych w Pythonie

4. Typy danych

NumPy udostępnia kilka typów danych do przechowywania danych w tablicach, takich jak liczba całkowita, łańcuch, liczba zmiennoprzecinkowa, logiczna i złożona. Domyślnie NumPy próbuje wywnioskować typ danych na podstawie elementów wejściowych.

Można jednak również jawnie określić typ danych za pomocą słowa kluczowego dtype . Na przykład:

import numpy as np
a = np.array([1, 2, 3], dtype=float)  # Creates an array of floats

Typowe typy danych NumPy obejmują:

  • np.int32 : 32-bitowa liczba całkowita

  • np.int64: 64-bitowa liczba całkowita

  • np.float32: 32-bitowa liczba zmiennoprzecinkowa

  • np.float64: 64-bitowa liczba zmiennoprzecinkowa

  • np.complex: liczba zespolona reprezentowana przez dwie 64-bitowe liczby zmiennoprzecinkowe

Możesz także konwertować tablice z jednego typu danych na inny. W tym przykładzie możemy przekonwertować tablicę liczb całkowitych a na tablicę boolowską arr za pomocą metody np.array() .

Ściągawka Numpy: niezbędna analiza danych w Pythonie

Z przykładu możemy zobaczyć, że metoda array() konwertuje elementy tablicy na wartości logiczne. Te wartości logiczne tworzą następnie nową tablicę NumPy arr.

Zrozumienie tych podstawowych koncepcji NumPy pozwoli ci efektywnie pracować z tablicami i wykonywać różnorodne matematyczne operacje NumPy. Na przykład możesz obejrzeć nasz film o tym, jak przekształcać i kodować adresy w Pythonie.

Wykorzystaliśmy w nim typy danych Python Pandas i NumPy do geokodowania adresów domowych.

Manipulacja tablicą

W tej sekcji poznasz różne techniki manipulacji kształtami tablic w NumPy. Omówimy przekształcanie, łączenie, kopiowanie, dzielenie, dodawanie/usuwanie elementów, indeksowanie i cięcie.

Techniki te są kluczowe dla efektywnej pracy z danymi tablicowymi w projektach nauki o danych.

Zagłębmy się w każdą podsekcję.

1. Przekształcanie

Przekształcanie tablicy w NumPy to często wykonywane zadanie. Może być konieczna zmiana kształtu tablicy, aby dopasować ją do wymagań funkcji lub algorytmu.

Aby zmienić kształt tablicy, użyj funkcji reshape() :

arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = arr.reshape(2, 3)

Spowoduje to przekształcenie jednowymiarowej tablicy w tablicę dwuwymiarową z 2 wierszami i 3 kolumnami.

Ściągawka Numpy: niezbędna analiza danych w Pythonie

Uwaga: Upewnij się, że podany nowy kształt ma taki sam rozmiar (liczba elementów tablicy) jak oryginalna tablica.

2. Kopiowanie

Możesz skopiować elementy z jednej tablicy NumPy do innej za pomocą metody copy() . Należy zauważyć, że użycie operatora przypisania „=” tworzy płytką kopię.

#Creating a shallow copy of a NumPy array
a = np.array([9, 6, 12, 16, 20])
b = a
b[0] = 19

print(a) #Output:[19, 6, 12, 16, 20]
print(b) #Output:[19, 6, 12, 16, 20]

Nowa tablica odwołuje się tylko do starej tablicy w pamięci systemu. Zawierają te same elementy i nie są od siebie niezależne.

Korzystając z głębokiej kopii, tworzysz nową tablicę NumPy, która zawiera te same dane, co stara, będąc od niej niezależną.

#Creating a deep copy of a NumPy array
a = np.array([9, 6, 12, 16, 20])
b = np.copy(a)
b[0] = 19

print(a) #Output:[9, 6, 12, 16, 20]
print(b) #Output:[19, 6, 12, 16, 20]

3. Konkatenacja

Czasami może być konieczne połączenie dwóch tablic w jedną. W NumPy możesz użyć funkcji concatenate() do łączenia tablic wzdłuż istniejącej osi:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = np.concatenate((arr1, arr2))

To łączy arr1 i arr2 w jedną tablicę. Należy pamiętać, że łączone tablice powinny mieć ten sam kształt, z wyjątkiem określonej osi.

4. Dzielenie

Dzielenie jest przeciwieństwem konkatenacji. Tablicę można podzielić na mniejsze podtablice za pomocą funkcji split():

arr = np.array([1, 2, 3, 4, 5, 6])
result = np.split(arr, 3)

To dzieli tablicę na 3 równej wielkości podtablice. Upewnij się, że określona liczba podziałów pozwala równomiernie podzielić rozmiar tablicy wzdłuż danej osi.

Ściągawka Numpy: niezbędna analiza danych w Pythonie

5. Dodawanie/usuwanie elementów

Dodawanie lub usuwanie elementów w tablicy NumPy można osiągnąć za pomocą funkcji append() i delete() . Możesz użyć tego pierwszego do dołączenia wartości na końcu tablicy, podczas gdy drugi usuwa element o określonym indeksie.

Oto przykład:

arr = np.array([1, 2, 3])

arr = np.append(arr, [4, 5, 6]) # Appends values to the end of the array
arr = np.delete(arr, 0) # Removes the array element on index 0

Pamiętaj, że tablice NumPy mają stały rozmiar. Podczas używania funkcji append() lub delete() tworzona jest nowa tablica, a oryginalna nie jest modyfikowana.

6. Indeksowanie

Możesz wykonywać operacje indeksowania na tablicach NumPy w taki sam sposób, jak na listach Pythona lub krotkach. Przyjrzyjmy się, w jaki sposób można uzyskać dostęp do elementów tablicy lub zmienić je w danej tablicy.

arr = np.array([1, 2, 3])

#Returns the array element on index 1
element_2 = b[1]

#Change the array element on index 0
arr[0]= 89

7. Krojenie

Możesz także podzielić tablice NumPy, aby wyodrębnić lub wyświetlić sekcję danych w taki sam sposób, jak w przypadku list lub zestawów Pythona . Spójrzmy na przykład poniżej:

arr1 = np.array([1, 2, 3, 4, 5, 6, 7])
arr2 = np.array([(1, 2, 3, 6, 0), (4, 5, 6, 11, 13)]) 

# To return the first 3 elements of arr1
print(arr1[0:3]) #Output: [1, 2, 3]

# To return the second row in arr2
b = arr2[1, : ].copy() #Output: [4, 5, 6, 11, 13]

Note: Slicing creates a shallow copy that still references the main array. So, any change you make to the sliced data will be applied to the main array and vice versa.

To avoid this, you can use the copy() method to create a deep, independent copy.

Elementary Functions

In this section, you’ll learn about different elementary functions in NumPy, which will ease your data analysis tasks. We’ll cover arithmetic operations, trigonometry, and exponents and logarithms.

1. Arithmetic Operations

NumPy offers various math operations on arrays that make them simple and efficient to work with. array mathematics vector math

Some of the operations are:

  • Addition: numpy.add(x1, x2)

  • Subtraction: numpy.subtract(x1, x2)

  • Multiplication: numpy.multiply(x1, x2)

  • Division: numpy.divide(x1, x2)

  • Modulus: numpy.mod(x1, x2)

  • Power: numpy.power(x1, x2)

  • Square root: numpy.sqrt(x)

Ściągawka Numpy: niezbędna analiza danych w Pythonie

Note: When using these operations, the two arrays must be the same shape. If not, you’ll run into errors.

There is an exception for certain arrays thanks to a NumPy feature called broadcasting. We’ll cover that in a later section.

You can perform these operations element-wise on the arrays, which makes them highly efficient for large-scale data manipulation.

2. Trigonometry

Trigonometric functions play a significant role in various mathematical and scientific computations. NumPy provides a wide range of trigonometric functions.

Some of the essential functions are:

  • Sine: numpy.sin(x)

  • Cosine: numpy.cos(x)

  • Tangent: numpy.tan(x)

  • Arcsine: numpy.arcsin(x)

  • Arccosine: numpy.arccos(x)

  • Arctangent: numpy.arctan(x)

These functions work seamlessly with arrays, making it easier for you to perform vectorized computations on large datasets.

3. Exponents and Logarithms

Exponents and logarithms are crucial for various numerical operations. NumPy provides an extensive collection of functions for dealing with exponents and logarithms.

Some of the primary functions are:

  • Exponential: numpy.exp(x)

  • Logarithm(base e): numpy.log(x)

  • Logarithm(base 10): numpy.log10(x)

  • Logarithm(base 2): numpy.log2(x)

Utilizing these functions, you can quickly perform complex mathematical operations on each element in the array. This makes your data analysis tasks more accessible and efficient.

Array Analysis

In this section, we will discuss various techniques to analyze arrays and array elements in NumPy. Some of the key features we will cover include aggregate functions, statistical functions, searching, and sorting.

1. Aggregate Functions

NumPy provides several aggregate functions that allow you to perform operations on arrays, such as summing all their elements, finding the minimum or maximum value, and more:

  • sum: np.sum(your_array) – Calculate the sum of all the elements in the array.

  • min: np.min(your_array) – Find the minimum array element.

  • max: np.max(your_array) – Find the maximum array element.

  • mean : np.mean(your_array) – Oblicz średnią wartości w tablicy.

  • median : np.median(your_array) – Znajdź medianę wartości w tablicy.

Ściągawka Numpy: niezbędna analiza danych w Pythonie

2. Funkcje statystyczne

NumPy posiada również szereg funkcji statystycznych, które pomogą Ci analizować dane:

  • std: np.std(your_array) – Oblicz odchylenie standardowe wartości w tablicy.

  • var: np.var(your_array) – Oblicz wariancję wartości w tablicy.

  • corrcoef : np.corrcoef(your_array) – Oblicz współczynnik korelacji tablicy.

3. Wyszukiwanie

Wyszukiwanie w tablicach NumPy można wykonać różnymi metodami:

  • argmin: np.argmin(your_array) – Znajdź indeks minimalnego elementu tablicy.

  • argmax: np.argmax(your_array) – Znajdź indeks maksymalnego elementu tablicy.

  • gdzie: np.where(condition) – Zwraca indeksy elementów tablicy, które spełniają zadany warunek.

4. Sortowanie

Możesz sortować elementy w tablicy za pomocą następujących funkcji:

  • sort : np.sort(your_array) – Sortuje elementy w tablicy w porządku rosnącym.

  • argsort: np.argsort(your_array) – Zwraca indeksy, które posortowałyby tablicę.

Dzięki tym funkcjom i technikom możesz wygodnie analizować i manipulować tablicami NumPy, aby odkrywać cenne spostrzeżenia i wspierać swoje wysiłki związane z analizą danych.

Zaawansowane funkcje

W tej sekcji przyjrzymy się niektórym zaawansowanym funkcjom NumPy, które pomogą Ci wydajniej pracować z danymi. Omówimy funkcje rozgłaszania i algebry liniowej.

1. Nadawanie

Broadcasting to potężna funkcja NumPy, która umożliwia wykonywanie operacji na tablicach o różnych kształtach i rozmiarach. Działa poprzez automatyczne rozszerzanie wymiarów mniejszej tablicy w celu dopasowania do większej tablicy, co ułatwia wykonywanie operacji na elementach.

Oto przykład:

import numpy as np
A = np.array([1, 2, 3])
B = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

C = A + B

W tym przykładzie tablica 1D A jest rozgłaszana w celu dopasowania do kształtu tablicy 2D B, co umożliwia dodawanie elementów.

Ściągawka Numpy: niezbędna analiza danych w Pythonie

Podczas pracy z transmisją pamiętaj o tych zasadach:

  • Wymiary tablic muszą być zgodne (albo ten sam rozmiar, albo jedna z nich to 1).

  • Rozgłaszanie jest stosowane od wymiarów końcowych i działa w kierunku wymiarów wiodących.

2. Algebra liniowa

NumPy udostępnia kilka funkcji algebry liniowej, które mogą być przydatne podczas pracy z tablicami wielowymiarowymi. Niektóre z tych funkcji obejmują:

  • np.dot(A, B): Oblicza iloczyn skalarny dwóch tablic.

  • np.linalg.inv(A) : Oblicza odwrotność macierzy kwadratowej.

  • np.linalg.eig(A) : Oblicza wartości własne i wektory własne macierzy kwadratowej.

  • np.linalg.solve(A, B): Rozwiązuje liniowy układ równań, gdzie A jest macierzą współczynników, a B jest macierzą stałych.

Pamiętaj, aby zawsze przed wykonaniem tych operacji sprawdzić, czy Twoje matryce są kompatybilne .

Wejście i wyjście

W tej sekcji zbadamy, jak zapisywać i ładować tablice, a także jak odczytywać i zapisywać pliki za pomocą NumPy.

1. Zapisywanie i ładowanie tablic

Aby zapisać tablicę, możesz użyć funkcji np.save() NumPy . Ta funkcja przyjmuje nazwę pliku i tablicę jako dwa główne argumenty.

import numpy as np
arr = np.array([1, 2, 3])

np.save('my_array.npy', arr)

Aby załadować zapisaną tablicę, użyj funkcji np.load() , podając jako argument nazwę pliku.

loaded_array = np.load('my_array.npy')

print(loaded_array)  
# Output: array([1, 2, 3])

Możesz także zapisywać i ładować wiele tablic za pomocą funkcji np.save() i np.load() .

2. Odczyt i zapis do plików tekstowych

NumPy zapewnia funkcje do odczytu i zapisu plików tekstowych z tablicami, takie jak np.loadtxt() i np.savetxt() . Możesz użyć tych funkcji do zapisywania i ładowania danych z formatów plików, takich jak plik txt lub CSV.

Aby wczytać plik tekstowy do tablicy, użyj funkcji np.loadtxt() . Przyjmuje nazwę pliku jako główny argument, a także obsługuje opcjonalne argumenty do określania ogranicznika, typu d i innych.

arr_from_txt = np.loadtxt('data.txt', delimiter=',')
print(arr_from_txt)

Aby odczytać dane z pliku CSV, możesz również skorzystać z funkcji np.loadtxt() . Jednak upewnij się, że ogranicznik jest zawsze ustawiony na przecinek „ , „.

Aby zapisać tablicę do pliku tekstowego, użyj funkcji np.savetxt() . Ta funkcja przyjmuje nazwę pliku i tablicę jako dwa główne argumenty, po których następują argumenty opcjonalne, takie jak ogranicznik i nagłówek.

arr_to_txt = np.array([[1, 2, 3], [4, 5, 6]])
np.savetxt('output_data.txt', arr_to_txt, delimiter=',')

Te funkcje wejścia i wyjścia umożliwiają wydajną pracę z tablicami i plikami tekstowymi w zadaniach przetwarzania danych i manipulacji przy użyciu NumPy.

Pobierz ściągawkę poniżej

Pobierz ściągawkę Numpy

Końcowe przemyślenia

Cóż, to wszystko, co musisz wiedzieć, aby rozpocząć pracę z biblioteką Numpy Python! Możesz także użyć ściągawki Python Numpy jako przydatnego odniesienia podczas pracy z biblioteką.

Więcej zaawansowanych funkcji można znaleźć w dokumentacji NumPy . Możesz także sprawdzić tę zabawną ściągawkę do Pythona, którą przygotowaliśmy zarówno dla nowych, jak i doświadczonych programistów.

Powodzenia!

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.