Загрузка набора данных со своего компьютера
import pandas as pd # Импорт библиотеки pandas
from google.colab import files # Импорт библиотеки files для загрузки с компа
uploaded = files.upload() # Кнопка выбрать файл
df = pd.read_csv(‘train.csv’) # Считывание набора данных
Анализ набора данных
df.head(3) # Предпросмотр набора данных — 3 строки
Выдача len wid length width variety 0 5.1 3.5 1.4 0.2 Setosa 1 4.9 3.0 1.4 0.2 Setosa 2 4.7 3.2 1.3 0.2 Setosa
df.columns # Обзор колонок набора данных
Выдача Index(['len', 'wid', 'length', 'width', 'variety'], dtype='object')
df.info() #Обзор набора данных: количество, тип, not null
Выдача RangeIndex: 150 entries, 0 to 149 Data columns (total 5 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 len 150 non-null float64 1 wid 150 non-null float64 2 length 150 non-null float64 3 width 150 non-null float64 4 variety 150 non-null object
count_null = df.isnull().sum(axis = 0).sort_values(ascending = False)
count_null[count_null > 0]
#Подсчет количества уникальных элементов по столбцам с сортировкой
df.nunique().sort_values()
Выдача 0 variety 3 petal.width 22 sepal.width 23 sepal.length 35 petal.length 43
# Количество уникальных значений с условием
unique_num = df.nunique().sort_values(ascending = False)
unique_num[unique_num < 20]
Выдача 0 variety 3 dtype: int64
# Просмотр уникальных значений по условию
for feature in unique_num[unique_num < 20].index:
print(feature, df[feature].unique())
Выдача variety ['Setosa' 'Versicolor' 'Virginica']
# Все уникальные значения столбца (или первые 10)
df[‘sepal.width’].unique()
df[‘sepal.width’].unique()[:10]
# Функции
min(df[‘sepal.width’]) # Минимальное значение столбца
max(df[‘sepal.width’]) # Максимальное значение столбца
# Методы
df[«sepal.length»].std() # Cтандартное отклонение значение столбца
df[«sepal.length»].mean() # Cреднее значение значение столбца
df[«sepal.length»].min() # Минимальное значение столбца через метод
df.count() # Количество непустых значений по всем столбцам
df[‘Price’].describe() # Обзор статистик переменной
Выдача count 1460.000000 mean 180921.195890 std 79442.502883 min 34900.000000 25% 129975.000000 50% 163000.000000 75% 214000.000000 max 755000.000000 Name: Price, dtype: float64
import seaborn as sns # Бибилиотека визуализации данных
sns.histplot(df[‘Price’], kde = True) # Обзор распределения целевой переменной. График.
Выдача
# Оценка ассиметрии и вершинности распределения целевой переменной.
print(f»Ассиметрия {df[‘Price’].skew()}»)
print(f»Эксцесс {df[‘Price’].kurt()}»)
Выдача Ассиметрия 1.8828757597682129 Эксцесс 6.536281860064529 Выводы Распеределение имеет смещение влево и высокую вершинность.