Strona 1 z 1

[Python][NumPy] Operacje na tablicach

: 22 mar 2020, o 18:24
autor: Piasek96
Zadanie 1. Z tablicy o rozmiarze 10x10, której elementy to kolejne liczby naturalne wybierz elementy, które są podzielne przez 2 i nie są podzielne przez 3. Rozwiązanie uzyskaj za pomocą maskowania.
Maskowanie wygląda ta:

Kod: Zaznacz cały

a = np.arange(25).reshape(5,5)
print(a)

import numpy as np
for i in np.arange(100):
    if i % 2 == 0 or i % 3 != 0:
        print(i)
Tylko, że nie robi tablicy 10x10, proszę o pomoc.

Zadanie 2. Napisz funkcję, która wygeneruje macierz o losowych elementach (liczby całkowite z zadanego zakresu) o zadanej z góry wartości wyznacznika.
Tego nie mam zielonego pojęcia jak zacząć.

Re: [Python][NumPy] Operacje na tablicach

: 2 kwie 2020, o 17:43
autor: Dudenzz
Funkcja arange z biblioteki numpy generuje ciąg kolejnych liczb. Funkcja ma kilka przeładowań, to które wykorzystujesz numpy.arange(int) przjumuje jako argument dłgość ciągu, a wygenerowane liczby rozpoczynają się od \(\displaystyle{ 0}\) oraz każda kolejna liczba jest większa o \(\displaystyle{ 1}\) niż poprzednia (czyli generuje kolejne liczby naturalne). Powiedz mi, ile liczb powinno zostać wygenerowane, aby z tych liczb można było utworzyć tablicę o rozmiarze \(\displaystyle{ 10 \times 10}\).

Konsekwencją tej zmiany jest zmiana argumentów operacji reshape, która zmienia kształt wygenerowanego ciągu. Otóż ciąg wygenerowany przez arange jest typu ndarray rzędu pierwszego (czyli jest to wektor). ndarray.reshape(shape) pozwala zamienić "kształt" tego obiektu (czyli na przykład poukładać elementy tego wektora tak, aby utworzyły macierz). W twoim wypadku macierz ma pięć kolumn i pięć wierszy. Ile tych kolumn i wierszy powinno być?

Co do zadania 2 - gotowców tutaj nie piszemy.