[Python][NumPy] Operacje na tablicach

Piasek96
Użytkownik
Użytkownik
Posty: 56
Rejestracja: 18 mar 2018, o 00:40
Płeć: Mężczyzna
Lokalizacja: Kołobrzeg

[Python][NumPy] Operacje na tablicach

Post 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ąć.
Ostatnio zmieniony 24 mar 2020, o 14:29 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Dudenzz
Użytkownik
Użytkownik
Posty: 93
Rejestracja: 8 mar 2009, o 18:21
Płeć: Mężczyzna
Pomógł: 19 razy

Re: [Python][NumPy] Operacje na tablicach

Post 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.
ODPOWIEDZ