Python е широко използван като език за анализ на данни поради своите стабилни библиотеки и инструменти за управление на данни. Сред тези библиотеки е Pandas, която улеснява манипулирането и анализата на проучване на данни. ще използваме панди за анализиране на набор от данни, наречен Country-data.csv от Kaggle. Докато работим с тези данни, ние също въвеждаме някои важни концепции в Pandas.
1. Монтаж
Най-лесният начин да инсталирате pandas е да използвате pip:
Pythonpip install pandas
или го изтеглете от тук .
2. Създаване на DataFrame в Pandas
А DataFrame е подобна на таблица структура от данни в Pandas, която има данни, съхранявани в редове и колони. DataFrame може да бъде създаден чрез предаване на множество обекти от серията python в DataFrame клас ( pd.DataFrame() ) с помощта на pd.Series метод. В този пример се използват два обекта Series: s1 като първи ред и s2 като втория ред.
Пример 1: Създаване на DataFrame от серия:
Pythonimport 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 от списък с потребителски индекс и имена на колони:
Pythondataframe1 = pd.DataFrame([[1 2] ['Ashish' 'Sid']] index=['r1' 'r2'] columns=['c1' 'c2']) print(dataframe1)
Изход:
Пример 3: DataFrame от речник:
Pythondataframe2 = pd.DataFrame({ 'c1': [1 'Ashish'] 'c2': [2 'Sid'] }) print(dataframe2)
Изход:
3. Импортиране на данни с Pandas
Първата стъпка е да прочетете данните. В нашия случай данните се съхраняват като CSV (Comma-Separated Values) файл, където всеки ред е разделен с нов ред, а всяка колона със запетая. За да можете да работите с данните в Python е необходимо да прочетете csv файл в Pandas DataFrame.
Pythonimport 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, като използвате и двете базирани на позиция и базирани на етикети методи.
Индексиране на базата на позиция (с помощта на iloc ):
# 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 улеснява извършването на математически операции върху данните, съхранявани в рамки с данни. Операциите, които могат да се извършват върху панди, са векторизирани, което означава, че са бързи и се прилагат автоматично към всички елементи, без да се използват цикли.
Пример - Математика по колони:
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:
javafx на eclipse
Изчисляването на рамки с данни може да се извърши с помощта на статистически функции на инструментите на 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
Хистограма
Хистограма показва разпределението на стойностите в колона.
Pythondf['income'].hist(bins=10) plt.title('Histogram of Income') plt.xlabel('Income Value') plt.ylabel('Frequency') plt.show()
Изход:
Box Plot
А кутия парцел е полезно за откриване на отклонения и разбиране на разпространението на данните.
Pythondf = 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()
Изход:
Точкова диаграма
А точкова диаграма показва връзката между две променливи.
Pythonx = 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()
Изход:
Свързана статия:
- Pandas Въведение
- Изчертаване на графики в Python
- Работа с csv файлове в Python
- Pandas DataFrame
- Въведение в Matplotlib
- Хистограма - Типове дефиниции Графика и примери
- Box Plot
- Точкова диаграма