Аналіз даних і візуалізація за допомогою Python
Python широко використовується як мова аналізу даних завдяки надійним бібліотекам та інструментам для керування даними. Серед цих бібліотек – Pandas, яка спрощує маніпулювання дослідженням даними та аналіз даних. ми будемо використовувати панди для аналізу набору даних називається Country-data.csv від Kaggle. Під час роботи з цими даними ми також представляємо деякі важливі поняття в Pandas.
1. Монтаж
Найпростіший спосіб встановити pandas — використовувати pip:
Python pip install pandas
або Завантажте його з тут .
2. Створення DataFrame в Pandas
А DataFrame це таблична структура даних у Pandas, яка містить дані в рядках і стовпцях. DataFrame можна створити шляхом передачі кількох об’єктів серії python у DataFrame клас ( pd.DataFrame() ) за допомогою pd.Series метод. У цьому прикладі використовуються два об’єкти Series: s1 як перший ряд і s2 як другий ряд.
Приклад 1: Створення DataFrame із серії:
Python
import pandas as pd # Creating two Series: s1 (numbers) and s2 (names) s1 = pd . Series ([ 1 2 ]) s2 = pd . Series ([ 'Ashish' 'Sid' ]) # Creating DataFrame by combining Series as rows dataframe = pd . DataFrame ([ s1 s2 ]) # Displaying the DataFrame print ( dataframe )
Вихід:
Приклад 2: DataFrame зі списку з настроюваним індексом і назвами стовпців:
Python dataframe1 = pd . DataFrame ([[ 1 2 ] [ 'Ashish' 'Sid' ]] index = [ 'r1' 'r2' ] columns = [ 'c1' 'c2' ]) print ( dataframe1 )
Вихід:
Приклад 3: DataFrame зі словника:
Python dataframe2 = pd . DataFrame ({ 'c1' : [ 1 'Ashish' ] 'c2' : [ 2 'Sid' ] }) print ( dataframe2 )
Вихід:
3. Імпорт даних за допомогою Pandas
Першим кроком є читання даних. У нашому випадку дані зберігаються як файл CSV (значення, розділені комами), де кожен рядок відокремлюється новим рядком, а кожен стовпець — комою. Щоб мати можливість працювати з даними в Python, необхідно читати файл csv файл у Pandas DataFrame.
Python import pandas as pd # Read Country-data.csv into a DataFrame df = pd . read_csv ( 'Country-data.csv' ) # Prints the first 5 rows of a DataFrame as default df . head () # Prints no. of rows and columns of a DataFrame df . shape
Вихід:
(167 10)4. Індексація DataFrames за допомогою Pandas
Pandas надає потужні можливості індексування. Ви можете індексувати DataFrames, використовуючи обидва на основі позиції і на основі етикетки методи.
Позиційне індексування (за допомогою
Pythoniloc):# prints first 5 rows and every column which replicates df.head() df . iloc [ 0 : 5 :] # prints entire rows and columns df . iloc [::] # prints from 5th rows and first 5 columns df . iloc [ 5 :: 5 ]Вихід:
![]()
![]()
![]()
Індексування на основі міток (за допомогою
loc):Індексуванням можна працювати з мітками за допомогою pandas.DataFrame.loc метод, який дозволяє індексувати за допомогою міток замість позицій.
приклади:
Python# prints first five rows including 5th index and every columns of df df . loc [ 0 : 5 :] # prints from 5th rows onwards and entire columns df . loc [ 5 ::]Вихід:
![]()
![]()
Наведене вище насправді мало чим відрізняється від df.iloc[0:5:]. Це тому, що хоча мітки рядків можуть приймати будь-які значення, наші мітки рядків точно відповідають позиціям. Але мітки стовпців можуть значно полегшити роботу з даними.приклад:
Python# Prints the first 5 rows of Time period # value df . loc [: 5 'child_mort' ]Вихід:
![]()
5. DataFrame Math з Pandas
Pandas полегшує виконання математичних операцій над даними, що зберігаються у кадрах даних. Операції, які можна виконувати на pandas, векторизовані, тобто вони швидкі та автоматично застосовуються до всіх елементів без використання циклів.
Приклад – математика по стовпцях:
Python# Adding 5 to every element in column A df [ 'child_mort' ] = df [ 'child_mort' ] + 5 # Multiplying values in column B by 10 df [ 'exports' ] = df [ 'exports' ] * 10 dfВихід:
![]()
Статистичні функції в Pandas:
Обчислення кадрів даних можна виконати за допомогою статистичних функцій інструментів pandas. Ми можемо використовувати такі функції, як:
-
df.sum()→ сума значень -
df.mean()→ середній -
df.max()/df.min()→ максимальні та мінімальні значення -
df.describe()→ швидке зведення статистики
# computes various summary statistics excluding NaN values df . describe () # Provides sum of all the values for each column df . sum ()
Вихід:
6. Візуалізація даних за допомогою Pandas і Matplotlib
Pandas дуже простий у використанні Matplotlib потужна бібліотека, яка використовується для створення базових графіків і діаграм. За допомогою лише кількох рядків коду ми можемо візуалізувати наші дані та краще їх зрозуміти. Нижче наведено кілька простих прикладів, які допоможуть вам почати будувати графіки за допомогою Pandas і Matplotlib:
Python # Import the library first import matplotlib.pyplot as plt
Гістограма
Гістограма показує розподіл значень у стовпці.
Python df [ 'income' ] . hist ( bins = 10 ) plt . title ( 'Histogram of Income' ) plt . xlabel ( 'Income Value' ) plt . ylabel ( 'Frequency' ) plt . show ()
Вихід:
Box Plot
А коробчастий сюжет корисно для виявлення викидів і розуміння поширення даних.
Python df = df . head ( 10 ) plt . figure ( figsize = ( 20 6 )) # Increase width to make x-axis labels clearer df . boxplot ( column = 'imports' by = 'country' ) plt . title ( 'Boxplot by Country' ) plt . suptitle ( '' ) # Removes default title plt . xlabel ( 'Country' ) plt . ylabel ( 'Imports' ) plt . xticks ( rotation = 45 ) # Optional: Rotate x-axis labels for better visibility plt . tight_layout () # Adjust layout to avoid clipping plt . show ()
Вихід:
Точкова діаграма
А діаграма розсіювання показує зв'язок між двома змінними.
Python x = df [ 'health' ] y = df [ 'life_expec' ] plt . scatter ( x y label = 'Data Points' color = 'm' marker = '*' s = 30 ) plt . xlabel ( 'Health' ) plt . ylabel ( 'Life Expectancy' ) plt . title ( 'Scatter Plot of Health vs Life Expectancy' ) plt . legend () plt . show ()
Вихід:
Пов'язана стаття:
- Панди Вступ
- Побудова графіка в Python
- Робота з файлами csv на Python
- Pandas DataFrame
- Знайомство з Matplotlib
- Гістограма – графік типів визначення та приклади
- Box Plot
- Точкова діаграма