<jupyter_start><jupyter_text>Дана целочисленная квадратная матрица. Определить:1. Сумму элементов в тех столбцах, которые не содержат отрицательных элементов;2. Минимум среди сумм модулей элементов диагоналей, параллельных побочной диагоналиматрицы. Инициализирую матрицу и импортирую NumPy<jupyter_code>import numpy as np 
n = int(input("Enter the size of the matrix: "))
matrix = np.random.randint(-20, 100, (n, n))
print(matrix)<jupyter_output>[[ 13  59  83  69  -4]
 [ 32  33   4  20  33]
 [ 49  34  25 -17  96]
 [ -5   7  90  13  76]
 [ 53  82  49  94  63]]<jupyter_text>1.  Сумма элементов в тех столбцах, которые не содержат отрицательных элементов Вывожу массив boolean по столбац, в которых минимальный элемент больше нуля:<jupyter_code>print(matrix.min(axis=0) > 0)<jupyter_output>[False  True  True False False]<jupyter_text>Здесь я уже попытался вывести только столбцы матрицы, которые не содержали отрицательных элементов:<jupyter_code>print(matrix[:, matrix.min(axis=0) > 0])<jupyter_output>[[59 83]
 [33  4]
 [34 25]
 [ 7 90]
 [82 49]]<jupyter_text>Узнав как получить доступ к нужным мне столбцам, посчитал их сумму:<jupyter_code>summa = np.sum(matrix[:, matrix.min(axis=0) > 0])
print(summa)<jupyter_output>466<jupyter_text>2. Минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы<jupyter_code>import numpy as np 
n = int(input("Enter the size of the matrix: "))<jupyter_output>Enter the size of the matrix: 5<jupyter_text>После ввода размерности матрицы задаю матрицу со случайными числами. Затем применяю к матрице модуль, чтобы посчитать сумму модулей элементов.<jupyter_code>matrix = np.random.randint(-20, 300, (n, n))
matrix = np.absolute(matrix)
print(matrix)<jupyter_output>[[101  11 150 151 201]
 [ 62 112 256  99   2]
 [101 103 197 173 248]
 [129  73  56  19 297]
 [ 35 293 150 280 234]]<jupyter_text>Минимум сумм находится функцией min, применённой к списку, элементами которого являются суммы диагоналей, возвращаемые функцией trace() со смещением по диагоналей, параллельным побочной диагонали. Они высчитываются благодаря перевороту матрицы функцией fliplr().<jupyter_code>min_sum = min([np.fliplr(matrix).trace(offset=i) for i in range(-(n-1), n)])
print(min_sum)<jupyter_output>73
{'fraction_non_alphanumeric': 0.09657320872274143, 'fraction_numerical': 0.06987093902981753, 'mean_word_length': 5.670623145400594, 'pattern_counts': {'":': 0, '<': 22, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '349154', 'license': 'MIT', 'n_tokens_mistral': 1057, 'n_tokens_neox': 1059, 'n_words': 245, 'path': 'ind_task.ipynb', 'repo_name': 'EgorVyhodcev/LR-2-TRO', 'size': '2247'}