<jupyter_start><jupyter_text>Домашнее задание к занятию «Python для анализа данных: numpy и scipy»  **Задание 1**Создайте numpy array с элементами от числа N до 0 (например, для N = 10 это будет array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0]))  Решение<jupyter_code>import numpy as np
import pandas as pd

rev_array = lambda n: np.arange(n)[::-1]
rev_array(10)
def func(N):
    res = np.flip(np.arange(N))
    return res

func(10)
print(np.flip(np.arange(10)))<jupyter_output>[9 8 7 6 5 4 3 2 1 0]<jupyter_text>**Задание 2**Создайте диагональную матрицу с элементами от N до 0. Посчитайте сумму ее значений на диагонали.  Решение<jupyter_code>np.diag(rev_array(10))
np.diag(rev_array(10)).sum()<jupyter_output><empty_output><jupyter_text>**Задание 3**Скачайте с сайта https://grouplens.org/datasets/movielens/ датасет любого размера. Определите какому фильму было выставлено больше всего оценок 5.0.  Решение<jupyter_code>ratings = pd.read_csv('/Users/aleksandr/Downloads/ml-20m/ratings.csv')
movies = pd.read_csv('/Users/aleksandr/Downloads/ml-20m/movies.csv')
evaluation = ratings[ratings['rating'] == 5.0]
res = evaluation.groupby('movieId').count().sort_values('rating', ascending=False).index.tolist()[0]

movies[movies['movieId'] == res]<jupyter_output><empty_output><jupyter_text>**Задание 4**По данным файла power.csv посчитайте суммарное потребление стран Прибалтики (Латвия, Литва и Эстония) категорий 4, 12 и 21 за период с 2005 по 2010 года. Не учитывайте в расчетах отрицательные значения quantity.  Решение<jupyter_code>df = pd.read_csv('/Users/aleksandr/Downloads/Python_5_pandas/power.csv')
baltic = ['Latvia', 'Lithuania', 'Estonia']
category = [4, 12, 21]
period = range(2005, 2011)
# https://www.geeksforgeeks.org/python-pandas-dataframe-isin/
# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.isin.html
# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.isin.html

res = df[
    df['country'].isin(baltic) & 
    df['category'].isin(category) & 
    df['year'].isin(period) & 
    df['quantity'] > 0]
res['quantity'].sum()<jupyter_output><empty_output><jupyter_text>**Задание 5**Решите систему уравнений:4x + 2y + z = 4x + 3y = 125y + 4z = -3  Решение<jupyter_code>equation = [[4, 2, 1], [1, 3, 0], [0, 5, 4]]
value = [4, 12, -3]
# https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.solve.html
# https://docs.scipy.org/doc/numpy-1.13.0/reference/routines.linalg.html#matrix-and-vector-products

np.linalg.solve(equation, value)
pass<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.15517920441118552, 'fraction_numerical': 0.04056715242221347, 'mean_word_length': 5.4961636828644505, 'pattern_counts': {'":': 0, '<': 20, '<?xml version=': 0, '>': 21, 'https://': 6, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '665244', 'license': 'MIT', 'n_tokens_mistral': 1155, 'n_tokens_neox': 1112, 'n_words': 200, 'path': 'Homework notebooks/(HW notebooks) netology Mathematics and Python/5. dz5 (A.Sib).ipynb', 'repo_name': 'Alex110117/data_analysis', 'size': '2539'}