logo

Анализ на данни и визуализация с 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) 

Изход:

Анализ на данни и визуализация с Python' title=

Пример 2: DataFrame от списък с потребителски индекс и имена на колони:

Python
dataframe1 = pd.DataFrame([[1 2] ['Ashish' 'Sid']] index=['r1' 'r2'] columns=['c1' 'c2']) print(dataframe1) 

Изход:

Анализ на данни и визуализация с Python' loading='lazy' title=

Пример 3: DataFrame от речник:

Python
dataframe2 = pd.DataFrame({ 'c1': [1 'Ashish'] 'c2': [2 'Sid'] }) print(dataframe2) 

Изход:

Анализ на данни и визуализация с Python' loading='lazy' title=

3. Импортиране на данни с Pandas

Първата стъпка е да прочетете данните. В нашия случай данните се съхраняват като CSV (Comma-Separated Values) файл, където всеки ред е разделен с нов ред, а всяка колона със запетая. За да можете да работите с данните в 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 

Изход:

главата' loading='lazy' title=
(167 10)

4. Индексиране на DataFrames с Pandas

Pandas предоставя мощни възможности за индексиране. Можете да индексирате DataFrames, като използвате и двете базирани на позиция и базирани на етикети методи.

Индексиране на базата на позиция (с помощта на iloc ):

Python
# 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] 

Изход:

Анализ на данни и визуализация с Python' loading='lazy' title= Анализ на данни и визуализация с Python' loading='lazy' title= Анализ на данни и визуализация с Python' loading='lazy' title=

Индексиране на базата на етикети (използване 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::] 

Изход:

Анализ на данни и визуализация с Python' loading='lazy' title= Анализ на данни и визуализация с Python' loading='lazy' title=


Горното всъщност не изглежда много по-различно от df.iloc[0:5:]. Това е така, защото докато етикетите на редове могат да приемат всякакви стойности, нашите етикети на редове съвпадат точно с позициите. Но етикетите на колоните могат да направят нещата много по-лесни при работа с данни.

Пример:

Python
# Prints the first 5 rows of Time period # value  df.loc[:5'child_mort'] 

Изход:

Анализ на данни и визуализация с Python' loading='lazy' title=

5. DataFrame Math с 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 

Изход:

Анализ на данни и визуализация с Python' loading='lazy' title=

Статистически функции в Pandas:

javafx на eclipse

Изчисляването на рамки с данни може да се извърши с помощта на статистически функции на инструментите на pandas. Можем да използваме функции като:

  • df.sum() → сума от стойности
  • df.mean() → средно
  • df.max() / df.min() → макс. и мин. стойности
  • df.describe() → бърза обобщена статистика
Python
# computes various summary statistics excluding NaN values df.describe() # Provides sum of all the values for each column df.sum() 

Изход:

Анализ на данни и визуализация с Python' loading='lazy' title= Анализ на данни и визуализация с Python' loading='lazy' title=

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() 

Изход:

Анализ на данни и визуализация с Python' loading='lazy' title=

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' loading='lazy' title=

Точкова диаграма

А  точкова диаграма  показва връзката между две променливи.

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' loading='lazy' title=

Свързана статия:

  • Pandas Въведение
  • Изчертаване на графики в Python
  • Работа с csv файлове в Python
  • Pandas DataFrame
  • Въведение в Matplotlib
  • Хистограма - Типове дефиниции Графика и примери
  • Box Plot
  • Точкова диаграма


Създаване на тест