Analiza danych w Pythonie

W tym artykule omówimy, jak przeprowadzić analizę danych za pomocą Pythona. Omówimy wszystkie rodzaje analizy danych, tj. analizę danych numerycznych za pomocą NumPy, danych tabelarycznych za pomocą Pand, wizualizację danych Matplotlib i eksploracyjną analizę danych.

Analiza danych za pomocą Pythona

Analiza danych to technika gromadzenia, przekształcania i organizowania danych w celu tworzenia przyszłych przewidywań i świadomych decyzji opartych na danych. Pomaga także znaleźć możliwe rozwiązania problemu biznesowego. Analiza danych składa się z sześciu kroków. Oni są:

  • Zapytaj lub określ wymagania dotyczące danych
  • Przygotuj lub zbierz dane
  • Czystość i proces
  • Analizować
  • Udział
  • Działaj lub zgłaszaj

Analiza danych w Pythonie



Notatka: Aby dowiedzieć się więcej na temat tych kroków, zapoznaj się z naszym NumPy to pakiet do przetwarzania tablic w Pythonie, zapewniający wysokowydajny wielowymiarowy obiekt tablicowy i narzędzia do pracy z tymi tablicami. Jest to podstawowy pakiet do obliczeń naukowych w języku Python.

Tablice w NumPy

Tablica NumPy to tabela elementów (zwykle liczb), wszystkich tego samego typu, indeksowanych krotką dodatnich liczb całkowitych. W Numpy liczba wymiarów tablicy nazywana jest rangą tablicy. Krotka liczb całkowitych podających rozmiar tablicy w każdym wymiarze nazywana jest kształtem tablicy.

Tworzenie tablicy NumPy

Tablice NumPy można tworzyć na wiele sposobów, z różnymi rangami. Można ją również utworzyć przy użyciu różnych typów danych, takich jak listy, krotki itp. Typ wynikowej tablicy wynika z rodzaju elementów w sekwencjach. NumPy oferuje kilka funkcji do tworzenia tablic z początkową zawartością zastępczą. Minimalizują one konieczność powiększania macierzy, co jest kosztowną operacją.

Utwórz tablicę za pomocą numpy.empty(kształt, dtype=float, zamówienie=’C’)

Python3
import numpy as np b = np.empty(2, dtype = int) print('Matrix b : 
', b) a = np.empty([2, 2], dtype = int) print('
Matrix a : 
', a) c = np.empty([3, 3]) print('
Matrix c : 
', c) 

Wyjście:

Pusta matryca za pomocą pand

Pusta matryca za pomocą pand

Utwórz tablicę za pomocą numpy.zeros(kształt, dtyp = Brak, zamówienie = „C”)

Python3
import numpy as np b = np.zeros(2, dtype = int) print('Matrix b : 
', b) a = np.zeros([2, 2], dtype = int) print('
Matrix a : 
', a) c = np.zeros([3, 3]) print('
Matrix c : 
', c) 

Wyjście:

Matrix b :   [0 0]  Matrix a :   [[0 0]  [0 0]]  Matrix c :   [[0. 0. 0.]  [0. 0. 0.]  [0. 0. 0.]] 

Operacje na tablicach Numpy

Działania arytmetyczne

  • Dodatek:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing addition using arithmetic operator add_ans = a+b print(add_ans) # Performing addition using numpy function add_ans = np.add(a, b) print(add_ans) # The same functions and operations can be used for # multiple matrices c = np.array([1, 2, 3, 4]) add_ans = a+b+c print(add_ans) add_ans = np.add(a, b, c) print(add_ans) 

Wyjście:

[ 7 77 23 130] [ 7 77 23 130] [ 8 79 26 134] [ 7 77 23 130] 
  • Odejmowanie:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing subtraction using arithmetic operator sub_ans = a-b print(sub_ans) # Performing subtraction using numpy function sub_ans = np.subtract(a, b) print(sub_ans) 

Wyjście:

[ 3 67 3 70] [ 3 67 3 70] 
  • Mnożenie:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing multiplication using arithmetic # operator mul_ans = a*b print(mul_ans) # Performing multiplication using numpy function mul_ans = np.multiply(a, b) print(mul_ans) 

Wyjście:

[ 10 360 130 3000] [ 10 360 130 3000] 
  • Dział:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing division using arithmetic operators div_ans = a/b print(div_ans) # Performing division using numpy functions div_ans = np.divide(a, b) print(div_ans) 

Wyjście:

[ 2.5 14.4 1.3 3.33333333] [ 2.5 14.4 1.3 3.33333333] 

Więcej informacji znajdziesz w naszym NumPy – samouczek operacji arytmetycznych

Indeksowanie tablicy NumPy

Indeksowanie można to zrobić w NumPy, używając tablicy jako indeksu. W przypadku wycinka zwracany jest widok lub płytka kopia tablicy, ale w tablicy indeksu zwracana jest kopia oryginalnej tablicy. Tablice Numpy można indeksować innymi tablicami lub dowolną inną sekwencją z wyjątkiem krotek. Ostatni element jest indeksowany o -1, ostatni o -2 i tak dalej.

Indeksowanie tablicy Python NumPy

Python3
# Python program to demonstrate # the use of index arrays. import numpy as np # Create a sequence of integers from # 10 to 1 with a step of -2 a = np.arange(10, 1, -2) print('
 A sequential array with a negative step: 
',a) # Indexes are specified inside the np.array method. newarr = a[np.array([3, 1, 2 ])] print('
 Elements at these indices are:
',newarr) 

Wyjście:

A sequential array with a negative step:   [10 8 6 4 2]   Elements at these indices are:  [4 8 6] 

Krojenie tablicy NumPy

Rozważmy składnię x[obj], gdzie x to tablica, a obj to indeks. Obiekt plasterka jest indeksem w przypadku podstawowe krojenie . Podstawowe cięcie ma miejsce, gdy obj to:

  • obiekt plasterka mający postać początek: stop: krok
  • Liczba całkowita
  • lub krotka obiektów plasterków i liczb całkowitych

Wszystkie tablice wygenerowane przez podstawowe cięcie są zawsze widokiem w oryginalnej tablicy.

Python3
# Python program for basic slicing. import numpy as np # Arrange elements from 0 to 19 a = np.arange(20) print('
 Array is:
 ',a) # a[start:stop:step] print('
 a[-8:17:1] = ',a[-8:17:1]) # The : operator means all elements till the end. print('
 a[10:] = ',a[10:]) 

Wyjście:

Array is: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]  a[-8:17:1] = [12 13 14 15 16]  a[10:] = [10 11 12 13 14 15 16 17 18 19] 

Elipsy można również używać wraz z podstawowym krojeniem. Wielokropek (...) to liczba : obiektów potrzebnych do utworzenia krotki wyboru o tej samej długości, co wymiary tablicy.

Python3
# Python program for indexing using basic slicing with ellipsis import numpy as np # A 3 dimensional array. b = np.array([[[1, 2, 3],[4, 5, 6]], [[7, 8, 9],[10, 11, 12]]]) print(b[...,1]) #Equivalent to b[: ,: ,1 ] 

Wyjście:

[[ 2 5]  [ 8 11]] 

Rozgłaszanie tablicy NumPy

Termin nadawanie odnosi się do tego, jak numpy traktuje tablice o różnych wymiarach podczas operacji arytmetycznych, które prowadzą do pewnych ograniczeń, mniejsza tablica jest transmitowana w większej tablicy, dzięki czemu mają kompatybilne kształty.

Załóżmy, że mamy duży zbiór danych, każde odniesienie jest listą parametrów. W Numpy mamy tablicę 2-D, w której każdy wiersz jest punktem odniesienia, a liczba wierszy to rozmiar zbioru danych. Załóżmy, że chcemy zastosować jakiś rodzaj skalowania do wszystkich tych danych, każdy parametr otrzymuje swój własny współczynnik skalowania lub powiedzmy, że każdy parametr jest mnożony przez jakiś współczynnik.

Aby wszystko było jasne, policzmy kalorie w żywności, korzystając z podziału makroskładników odżywczych. Z grubsza mówiąc, kaloryczne części żywności składają się z tłuszczów (9 kalorii na gram), białka (4 CPG) i węglowodanów (4 CPG). Jeśli więc wymienimy niektóre produkty spożywcze (nasze dane) i dla każdego produktu podajemy rozkład makroskładników odżywczych (parametry), możemy następnie pomnożyć każdy składnik odżywczy przez jego wartość kaloryczną (zastosować skalowanie), aby obliczyć rozkład kaloryczny każdego artykułu spożywczego.

Rozgłaszanie tablicy NumPy

Dzięki tej transformacji możemy teraz obliczyć wszelkiego rodzaju przydatne informacje. Na przykład, jaka jest całkowita liczba kalorii zawarta w jakimś jedzeniu lub, biorąc pod uwagę rozkład mojego obiadu, wiem, ile kalorii otrzymałem z białka i tak dalej.

Zobaczmy naiwny sposób wykonania tych obliczeń za pomocą Numpy:

Python3
import numpy as np macros = np.array([ [0.8, 2.9, 3.9], [52.4, 23.6, 36.5], [55.2, 31.7, 23.9], [14.4, 11, 4.9] ]) # Create a new array filled with zeros, # of the same shape as macros. result = np.zeros_like(macros) cal_per_macro = np.array([3, 3, 8]) # Now multiply each row of macros by # cal_per_macro. In Numpy, `*` is # element-wise multiplication between two arrays. for i in range(macros.shape[0]): result[i, :] = macros[i, :] * cal_per_macro result 

Wyjście:

array([[ 2.4, 8.7, 31.2],  [157.2, 70.8, 292. ],  [165.6, 95.1, 191.2],  [ 43.2, 33. , 39.2]]) 

Zasady nadawania: Łączne rozgłaszanie dwóch tablic odbywa się zgodnie z następującymi zasadami:

  • Jeśli tablice nie mają tej samej rangi, do kształtu tablicy o niższej randze dodawaj cyfry 1, aż oba kształty będą miały tę samą długość.
  • Obie tablice są zgodne w wymiarze, jeśli mają ten sam rozmiar w wymiarze lub jeśli jedna z tablic ma w tym wymiarze rozmiar 1.
  • Tablice można transmitować razem, jeśli są kompatybilne ze wszystkimi wymiarami.
  • Po rozgłoszeniu każda tablica zachowuje się tak, jakby miała kształt równy elementarnemu maksimum kształtów dwóch tablic wejściowych.
  • W dowolnym wymiarze, w którym jedna tablica ma rozmiar 1, a druga tablica ma rozmiar większy niż 1, pierwsza tablica zachowuje się tak, jakby została skopiowana wzdłuż tego wymiaru.
Python3
import numpy as np v = np.array([12, 24, 36]) w = np.array([45, 55]) # To compute an outer product we first # reshape v to a column vector of shape 3x1 # then broadcast it against w to yield an output # of shape 3x2 which is the outer product of v and w print(np.reshape(v, (3, 1)) * w) X = np.array([[12, 22, 33], [45, 55, 66]]) # x has shape 2x3 and v has shape (3, ) # so they broadcast to 2x3, print(X + v) # Add a vector to each column of a matrix X has # shape 2x3 and w has shape (2, ) If we transpose X # then it has shape 3x2 and can be broadcast against w # to yield a result of shape 3x2. # Transposing this yields the final result # of shape 2x3 which is the matrix. print((X.T + w).T) # Another solution is to reshape w to be a column # vector of shape 2X1 we can then broadcast it # directly against X to produce the same output. print(X + np.reshape(w, (2, 1))) # Multiply a matrix by a constant, X has shape 2x3. # Numpy treats scalars as arrays of shape(); # these can be broadcast together to shape 2x3. print(X * 2) 

Wyjście:

[[ 540 660]  [1080 1320]  [1620 1980]] [[ 24 46 69]  [ 57 79 102]] [[ 57 67 78]  [100 110 121]] [[ 57 67 78]  [100 110 121]] [[ 24 44 66]  [ 90 110 132]] 

Notatka: Więcej informacji znajdziesz w naszym Samouczek Pythona NumPy .

Analizowanie danych za pomocą Pand

Python Pandas Służy do danych relacyjnych lub etykietowanych i zapewnia różne struktury danych do manipulowania takimi danymi i szeregami czasowymi. Ta biblioteka jest zbudowana na bazie biblioteki NumPy. Moduł ten jest zazwyczaj importowany jako:

import pandas as pd 

Tutaj pd jest określane jako alias Pand. Jednak nie jest konieczne importowanie biblioteki przy użyciu aliasu, pomaga to po prostu w pisaniu mniejszej ilości kodu za każdym razem, gdy wywoływana jest metoda lub właściwość. Pandy zazwyczaj udostępniają dwie struktury danych do manipulowania danymi. Są to:

  • Seria
  • Ramka danych

Seria:

Seria Pandy to jednowymiarowa tablica z etykietami, zdolna do przechowywania danych dowolnego typu (liczba całkowita, ciąg znaków, liczba zmiennoprzecinkowa, obiekty Pythona itp.). Etykiety osi nazywane są zbiorczo indeksami. Seria Pandas to nic innego jak kolumna w arkuszu Excela. Etykiety nie muszą być unikalne, ale muszą mieć typ umożliwiający mieszanie. Obiekt obsługuje indeksowanie oparte na liczbach całkowitych i etykietach oraz zapewnia szereg metod wykonywania operacji na indeksie.

Seria Pandy

Można go utworzyć za pomocą funkcji Series(), ładując zbiór danych z istniejącej pamięci, takiej jak SQL, baza danych, pliki CSV, pliki Excel itp., Lub ze struktur danych, takich jak listy, słowniki itp.

Pandy w Pythonie tworzą serię

Python3
import pandas as pd import numpy as np # Creating empty series ser = pd.Series() print(ser) # simple array data = np.array(['g', 'e', 'e', 'k', 's']) ser = pd.Series(data) print(ser) 

Wyjście:

seria pnadas

seria pnadas

Ramka danych:

Ramka danych Pandy to dwuwymiarowa, potencjalnie heterogeniczna tabelaryczna struktura danych o zmiennym rozmiarze, z oznaczonymi osiami (wiersze i kolumny). Ramka danych to dwuwymiarowa struktura danych, co oznacza, że ​​dane są ułożone w sposób tabelaryczny w wierszach i kolumnach. Pandas DataFrame składa się z trzech głównych komponentów: danych, wierszy i kolumn.

Ramka danych Pandy

Można go utworzyć za pomocą metody Dataframe() i podobnie jak serię, może on również pochodzić z różnych typów plików i struktur danych.

Pandy w Pythonie tworzą ramkę danych

Python3
import pandas as pd # Calling DataFrame constructor df = pd.DataFrame() print(df) # list of strings lst = ['Geeks', 'For', 'Geeks', 'is', 'portal', 'for', 'Geeks'] # Calling DataFrame constructor on list df = pd.DataFrame(lst) df 

Wyjście:

Tworzenie ramki danych z listy

Tworzenie ramki danych z listy Pythona

Tworzenie ramki danych z pliku CSV

Możemy utwórz ramkę danych z pliku CSV pliki za pomocą czytaj_csv() funkcjonować.

Pandy Pythona czytają plik CSV

Python3
import pandas as pd # Reading the CSV file df = pd.read_csv('Iris.csv') # Printing top 5 rows df.head() 

Wyjście:

szef ramki danych

szef ramki danych

Filtrowanie ramki danych

Pandy ramka danych.filter() funkcja służy do podzestawu wierszy lub kolumn ramki danych zgodnie z etykietami w określonym indeksie. Należy pamiętać, że ta procedura nie filtruje ramki danych na podstawie jej zawartości. Filtr jest stosowany do etykiet indeksu.

Ramka danych filtra pand Pythona

Python3
import pandas as pd # Reading the CSV file df = pd.read_csv('Iris.csv') # applying filter function df.filter(['Species', 'SepalLengthCm', 'SepalLengthCm']).head() 

Wyjście:

Stosowanie filtra na zbiorze danych

Stosowanie filtra na zbiorze danych

Sortowanie ramki danych

Aby posortować ramkę danych w pandach, należy użyć funkcji sort_values() Jest używane. Pandy sort_values() mogą sortować ramkę danych w kolejności rosnącej lub malejącej.

Pandy w Pythonie sortują ramki danych w kolejności rosnącej

Wyjście:

Posortowany zbiór danych na podstawie wartości kolumny

Posortowany zbiór danych na podstawie wartości kolumny

Pandy GroupBy

Grupuj według to dość prosta koncepcja. Możemy utworzyć grupowanie kategorii i zastosować do nich funkcję. W prawdziwych projektach związanych z analizą danych będziesz mieć do czynienia z dużymi ilościami danych i wielokrotnie próbować różnych rozwiązań, dlatego w celu zapewnienia wydajności korzystamy z koncepcji Groupby. Grupowanie odnosi się głównie do procesu obejmującego jeden lub więcej z następujących kroków:

  • Rozdzielać: Jest to proces, w którym dzielimy dane na grupy, stosując pewne warunki na zbiorach danych.
  • Stosowanie: Jest to proces, w którym niezależnie stosujemy funkcję do każdej grupy.
  • Łączenie: Jest to proces, w którym łączymy różne zbiory danych po zastosowaniu grupowania i wyników w strukturę danych.

Poniższy obraz pomoże w zrozumieniu procesu związanego z koncepcją Groupby.

1. Zgrupuj unikalne wartości z kolumny Zespół

Metoda grupowania pand

2. Teraz dla każdej grupy jest wiadro

3. Wrzuć pozostałe dane do koszyków

Pandy GroupBy

4. Zastosuj funkcję na kolumnie masy każdego wiadra.

Stosowanie funkcji na kolumnie wagi w każdej kolumnie

Python Pandy GroupBy

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'Name': ['Jai', 'Anuj', 'Jai', 'Princi', 'Gaurav', 'Anuj', 'Princi', 'Abhi'], 'Age': [27, 24, 22, 32, 33, 36, 27, 32], 'Address': ['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj', 'Jaunpur', 'Kanpur', 'Allahabad', 'Aligarh'], 'Qualification': ['Msc', 'MA', 'MCA', 'Phd', 'B.Tech', 'B.com', 'Msc', 'MA']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) print('Original Dataframe') display(df) # applying groupby() function to # group the data on Name value. gk = df.groupby('Name') # Let's print the first entries # in all the groups formed. print('After Creating Groups') gk.first() 

Wyjście:

grupa pand

grupa pand

Stosowanie funkcji do grupy:

Po podzieleniu danych na grupę do każdej grupy stosujemy funkcję w celu wykonania pewnych operacji, którymi są:

  • Zbiór: Jest to proces, podczas którego obliczamy sumaryczną statystykę (lub statystyki) dotyczącą każdej grupy. Na przykład oblicz sumy lub średnie grupy
  • Transformacja: Jest to proces, w którym wykonujemy pewne obliczenia specyficzne dla grupy i zwracamy podobny indeks. Na przykład wypełnianie NA w grupach wartością pochodzącą z każdej grupy
  • Filtrowanie: Jest to proces, w którym odrzucamy niektóre grupy zgodnie z obliczeniami grupowymi, które oceniają wartość Prawda lub Fałsz. Na przykład filtrowanie danych na podstawie sumy lub średniej grupy

Agregacja pand

Zbiór to proces, w którym obliczamy statystykę podsumowującą każdą grupę. Funkcja zagregowana zwraca pojedynczą zagregowaną wartość dla każdej grupy. Po podzieleniu danych na grupy za pomocą funkcji groupby, na zgrupowanych danych można wykonać kilka operacji agregacji.

Agregacja Pand w Pythonie

Python3
# importing pandas module import pandas as pd # importing numpy as np import numpy as np # Define a dictionary containing employee data data1 = {'Name': ['Jai', 'Anuj', 'Jai', 'Princi', 'Gaurav', 'Anuj', 'Princi', 'Abhi'], 'Age': [27, 24, 22, 32, 33, 36, 27, 32], 'Address': ['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj', 'Jaunpur', 'Kanpur', 'Allahabad', 'Aligarh'], 'Qualification': ['Msc', 'MA', 'MCA', 'Phd', 'B.Tech', 'B.com', 'Msc', 'MA']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # performing aggregation using # aggregate method grp1 = df.groupby('Name') grp1.aggregate(np.sum) 

Wyjście:

Użycie funkcji agregującej sumę w zbiorze danych

Użycie funkcji agregującej sumę w zbiorze danych

Łączenie ramki danych

Aby połączyć ramkę danych, używamy połączyć() funkcja pomagająca w łączeniu ramki danych. Ta funkcja wykonuje całą ciężką pracę związaną z wykonywaniem operacji łączenia wraz z osią obiektów Pandas, jednocześnie wykonując opcjonalną logikę zestawów (sumę lub przecięcie) indeksów (jeśli istnieją) na innych osiach.

Pandy Pythona łączą ramkę danych

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32],} # Define a dictionary containing employee data data2 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Address':['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj'], 'Qualification':['Btech', 'B.A', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2) display(df, df1) # combining series and dataframe res = pd.concat([df, df1], axis=1) res 

Wyjście:

Łączenie ramki danych

Kiedy musimy połączyć bardzo duże ramki danych, złączenia stanowią skuteczny sposób szybkiego wykonywania tych operacji. Złączenia można wykonać tylko na dwóch ramkach danych jednocześnie, oznaczonych jako tabele lewa i prawa. Kluczem jest wspólna kolumna, w której zostaną połączone dwie ramki danych. Dobrą praktyką jest używanie kluczy, które mają unikalne wartości w całej kolumnie, aby uniknąć niezamierzonego duplikowania wartości wierszy. Pandy pełnią jedną funkcję, łączyć() , jako punkt wejścia dla wszystkich standardowych operacji łączenia baz danych pomiędzy obiektami DataFrame.

Istnieją cztery podstawowe sposoby obsługi łączenia (wewnętrzne, lewe, prawe i zewnętrzne), w zależności od tego, które wiersze muszą zachować dane.

Połącz pandy Daframe Python

Pandy Pythona scalają ramkę danych

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32],} # Define a dictionary containing employee data data2 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Address':['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj'], 'Qualification':['Btech', 'B.A', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2) display(df, df1) # using .merge() function res = pd.merge(df, df1, on='key') res 

Wyjście:

Łączenie dwóch zbiorów danych

Łączenie dwóch zbiorów danych

Dołączenie do DataFrame

Aby dołączyć do ramki danych, używamy .dołączyć() funkcja ta funkcja służy do łączenia kolumn dwóch potencjalnie różnie indeksowanych ramek danych w jedną wynikową ramkę danych.

Pandy Pythona dołączają do ramki danych

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32]} # Define a dictionary containing employee data data2 = {'Address':['Allahabad', 'Kannuaj', 'Allahabad', 'Kannuaj'], 'Qualification':['MCA', 'Phd', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1,index=['K0', 'K1', 'K2', 'K3']) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2, index=['K0', 'K2', 'K3', 'K4']) display(df, df1) # joining dataframe res = df.join(df1) res 

Wyjście:

Łączenie dwóch zbiorów danych

Więcej informacji znajdziesz w naszym Pandy Łączenie, łączenie i łączenie instruktaż

Pełny przewodnik na temat Pand znajdziesz w naszym Poradnik dotyczący pand .

Wizualizacja za pomocą Matplotlib

Matplotlib jest łatwą w użyciu i niesamowitą biblioteką wizualizacyjną w Pythonie. Jest zbudowany na tablicach NumPy i zaprojektowany do pracy z szerszym stosem SciPy i składa się z kilku wykresów, takich jak linia, słupek, punkt rozproszenia, histogram itp.

Pyplot

Pyplot to moduł Matplotlib zapewniający interfejs podobny do MATLAB-a. Pyplot udostępnia funkcje współdziałające z figurą, tj. tworzy figurę, ozdabia wykres etykietami i tworzy obszar kreślenia na figurze.

Python3
# Python program to show pyplot module import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) plt.axis([0, 6, 0, 20]) plt.show() 

Wyjście:

Wykres słupkowy

A działka barowa lub wykres słupkowy to wykres przedstawiający kategorię danych za pomocą prostokątnych słupków o długości i wysokości proporcjonalnej do wartości, które reprezentują. Wykresy słupkowe można wykreślać poziomo lub pionowo. Wykres słupkowy opisuje porównania pomiędzy odrębnymi kategoriami. Można go utworzyć za pomocą metody bar().

Wykres słupkowy Matplotlib w Pythonie

Tutaj użyjemy wyłącznie zbioru danych tęczówki

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') # This will plot a simple bar chart plt.bar(df['Species'], df['SepalLengthCm']) # Title to the plot plt.title('Iris Dataset') # Adding the legends plt.legend(['bar']) plt.show() 

Wyjście:

Wykres słupkowy przy użyciu biblioteki matplotlib

Wykres słupkowy przy użyciu biblioteki matplotlib

Histogramy

A histogram jest zasadniczo używany do reprezentowania danych w postaci niektórych grup. Jest to rodzaj wykresu słupkowego, gdzie oś X przedstawia zakresy przedziałów, a oś Y podaje informacje o częstotliwości. Aby utworzyć histogram, pierwszym krokiem jest utworzenie pojemnika zakresów, następnie rozłożenie całego zakresu wartości na serię przedziałów i policzenie wartości mieszczących się w każdym z przedziałów. Przedziały są wyraźnie identyfikowane jako kolejne, nienakładające się przedziały zmiennych. The hist() funkcja służy do obliczenia i utworzenia histogramu x.

Histogram Matplotlib w Pythonie

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.hist(df['SepalLengthCm']) # Title to the plot plt.title('Histogram') # Adding the legends plt.legend(['SepalLengthCm']) plt.show() 

Wyjście:

Histplot przy użyciu biblioteki matplotlib

Wykres punktowy

Wykresy punktowe służą do obserwacji relacji między zmiennymi i wykorzystują kropki do przedstawienia relacji między nimi. The rozpraszać() Metoda z biblioteki matplotlib służy do rysowania wykresu punktowego.

Wykres punktowy Matplotlib w Pythonie

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.scatter(df['Species'], df['SepalLengthCm']) # Title to the plot plt.title('Scatter Plot') # Adding the legends plt.legend(['SepalLengthCm']) plt.show() 

Wyjście:

Wykres punktowy przy użyciu biblioteki matplotlib

Wykres punktowy przy użyciu biblioteki matplotlib

Fabuła pudełkowa

A wykres pudełkowy ,Korelacja znana również jako wykres pudełkowy i wąsowy. Jest to bardzo dobra wizualna reprezentacja, jeśli chodzi o pomiar rozkładu danych. Wyraźnie wykreśla wartości mediany, wartości odstające i kwartyle. Zrozumienie dystrybucji danych jest kolejnym ważnym czynnikiem prowadzącym do lepszego budowania modelu. Jeśli w danych występują wartości odstające, zalecanym sposobem ich identyfikacji i podjęcia niezbędnych działań jest wykres pudełkowy. Wykres pudełkowy i wąsów pokazuje, w jaki sposób dane są rozłożone. Wykres zawiera zazwyczaj pięć informacji

  • Minimum pokazano po lewej stronie wykresu, na końcu lewego „wąsa”
  • Pierwszy kwartyl, Q1, znajduje się skrajnie na lewo od pudełka (lewy wąs)
  • Mediana jest pokazana jako linia pośrodku prostokąta
  • Trzeci kwartyl, Q3, pokazany po prawej stronie ramki (prawy wąs)
  • Maksimum znajduje się po prawej stronie pola

Reprezentacja wykresu pudełkowego

Zakres międzykwartylowy

Zakres międzykwartylowy

Ilustrująca fabułę pudełkową

Ilustrująca fabułę pudełkową

Wykres pudełkowy Matplotlib w Pythonie

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.boxplot(df['SepalWidthCm']) # Title to the plot plt.title('Box Plot') # Adding the legends plt.legend(['SepalWidthCm']) plt.show() 

Wyjście:

Wykres pudełkowy przy użyciu biblioteki matplotlib

Wykres pudełkowy przy użyciu biblioteki matplotlib

Mapy cieplne korelacji

Dwuwymiarowa mapa cieplna to narzędzie do wizualizacji danych, które pomaga przedstawić skalę zjawiska w formie kolorów. Mapa cieplna korelacji to mapa cieplna przedstawiająca dwuwymiarową macierz korelacji między dwoma dyskretnymi wymiarami, przy użyciu kolorowych komórek do reprezentowania danych ze zwykle skali monochromatycznej. Wartości pierwszego wymiaru pojawiają się jako wiersze tabeli, natomiast drugi wymiar jest kolumną. Kolor komórki jest proporcjonalny do liczby pomiarów odpowiadających wartości wymiarowej. Dzięki temu mapy cieplne korelacji są idealne do analizy danych, ponieważ ułatwiają odczytanie wzorców i podkreślają różnice i zmienności w tych samych danych. Mapa cieplna korelacji, podobnie jak zwykła mapa cieplna, jest wspomagana przez pasek kolorów, dzięki czemu dane są łatwe do odczytania i zrozumiałe.

Notatka: Dane tutaj muszą zostać przekazane metodą corr(), aby wygenerować mapę cieplną korelacji. Ponadto corr() sama eliminuje kolumny, które nie będą przydatne podczas generowania mapy cieplnej korelacji i wybiera te, które można wykorzystać.

Mapa cieplna korelacji Matplotlib w Pythonie

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.imshow(df.corr() , cmap = 'autumn' , interpolation = 'nearest' ) plt.title('Heat Map') plt.show() 

Wyjście:

Mapa cieplna przy użyciu biblioteki matplotlib

Mapa cieplna przy użyciu biblioteki matplotlib

Więcej informacji na temat wizualizacji danych znajdziesz w poniższych tutorialach –

Najpopularniejsze Artykuły

Kategoria

Ciekawe Artykuły