Snippets

dimonikol k7RrkM: Untitled snippet

Created by Дмитрий Николаев last modified
import pandas as pd
import numpy as np
print(pd.__version__)
df = pd.read_csv('https://raw.githubusercontent.com/alexeygrigorev/datasets/master/laptops.csv')

print(len(df))

unique_brands = df['Brand'].nunique()
print(f'Число брендов ноутбуков: {unique_brands}')

missing_values = df.isnull().sum()
columns_with_missing_values = (missing_values > 0).sum()
print(f'Число колон с пропущенными значениями: {columns_with_missing_values}')


dell_notebooks = df[df['Brand'] == 'Dell']
max_price = dell_notebooks['Final Price'].max()
print(f'Максимальная цена за ноутбук от Dell: {max_price}')

df['Screen'] = pd.to_numeric(df['Screen'], errors='coerce')
initial_median = df['Screen'].median()
print(f'Среднее значение в колонах: {initial_median}')
mode_screen = df['Screen'].mode()[0]
print(f'Наиболее популярное значение: {mode_screen}')
df['Screen'].fillna(mode_screen, inplace=True)
new_median = df['Screen'].median()
print(f'Новое среднее значение после заполнения пустых ячеек: {new_median}')
if initial_median == new_median:
    print("Новое среднее значение не изменилось.")
else:
    print("Новое среднее значение изменилось.")


innjoo_laptops = df[df['Brand'] == 'Innjoo'].copy()
innjoo_laptops[['RAM', 'Storage', 'Screen']] = innjoo_laptops[['RAM', 'Storage', 'Screen']].apply(pd.to_numeric, errors='coerce')

innjoo_laptops = innjoo_laptops.dropna(subset=['RAM', 'Storage', 'Screen'])

X = innjoo_laptops[['RAM', 'Storage', 'Screen']].to_numpy()

XTX = X.T @ X
print("X^T X:\n", XTX)

XTX_inv = np.linalg.inv(XTX)
print("Inverse of X^T X:\n", XTX_inv)

y = np.array([1100, 1300, 800, 900, 1000, 1100])

if len(y) != X.shape[0]:
    raise ValueError("Длина y не совпадает с количеством строк в X.")
w = XTX_inv @ X.T @ y
print("Результат w:\n", w)
result_sum = np.sum(w)
print(f'Сумма всех элементов результата: {result_sum}')

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.