Advertisement
lancernik

PythonCalyLab3

Mar 26th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.26 KB | None | 0 0
  1.  
  2. LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA LAURA
  3. # -*- coding: utf-8 -*-
  4. """
  5. Created on Tue Mar 19 14:50:13 2019
  6.  
  7. @author: laura
  8. """
  9. #kolos
  10. #def my_generator():
  11. # current_value = 'A'
  12. #
  13. # while True:
  14. # temp_value = current_value
  15. # if ord(current_value) > ord('Z'):
  16. # return
  17. # current_value = chr(ord(current_value) + 1)
  18. # yield temp_value
  19. #for letter in range():
  20.  
  21.  
  22.  
  23.  
  24. import os
  25. import csv
  26. import numpy as np
  27. import time
  28. import random
  29.  
  30.  
  31.  
  32.  
  33. #zadanie 1
  34. #Zdefiniuj tablice jednowymiarowa zawierajaca 101 elementów od 0 do 100 (włacznie). Nastepnie zdefiniuj
  35. #druga tablice jednowymiarowa zawierajaca elementy od 100 do 0 (włacznie). Wyobraz sobie, ze tablice
  36. #reprezentuja pomiar temperatury z dwóch czujników. Wykonaj nastepujace operacje: dodaj do siebie zadane
  37. #temperatury, przemnóz je przez siebie, wybierz z tablicy pierwszej 10 pierwszych elementów i odejmij od nich
  38. #10 ostatnich elementów drugiej tablicy. Wybierz z tablicy pierwszej tylko elementy, które sa podzielne przez 3.
  39. #W przypadku wszystkich powyzszych operacji nie uzywaj zadnych petli oraz instrukcji warunkowych. Korzystaj
  40. #jedynie z funkcji dostepnych w bibliotece NumPy.
  41.  
  42.  
  43. #tablica_1 = np.arange(101)
  44. #print(tablica_1)
  45. #tablica_2 = np.arange(100,-1, -1)
  46. #print(tablica_2)
  47.  
  48. #dodawanie
  49. #c = tablica_1 + tablica_2
  50. #print(c)
  51. #mnozenie
  52. #d = tablica_1 * tablica_2
  53. #print(d)
  54. #odejmowanie 10 elementow
  55. #e = tablica_1[:10] - tablica_2 [-10:]
  56. #print(e)
  57. #lementy podzielne przez 3
  58. #f = tablica_1[tablica_1 % 3 == 0]
  59. #print(f)
  60.  
  61.  
  62.  
  63. #zadanie 2
  64. #Zadeklaruj liste pomiarów zawierajaca elementy od 0 do 1000000. Nastepnie korzystajac z petli for stwórz
  65. #nowa liste składajaca sie z kazdego pomiaru podniesionego do kwadratu. Korzystajac z biblioteki time zmierz
  66. #czas tego zadania.
  67. #Nastepnie zadeklaruj tablice pomiarów zawierajaca elementy od 0 do 1000000. Podnies wszystkie pomiary do
  68. #kwadratu (bez korzystania z jakiejkolwiek petli) i przypisz do nowej tablicy. Analogicznie jak w poprzednim
  69. #przypadku zmierz czas tego zadania.
  70.  
  71. #l1= list(range(0, 1000000))
  72. #l2 = []
  73. #bt_1 = time.time()
  74. #for i in l1:
  75. # l2.append(i)
  76. #et_1 = time.time()
  77. #print("pomiar 1", et_1- bt_1)
  78. #
  79. #array1= np.arange(0, 100000)
  80. #bt_2= time.time()
  81. #array2 = array1 * array1
  82. #et_2= time.time()
  83. #print("pomiar 2", et_2- bt_2)
  84.  
  85.  
  86. #zadanie 3
  87. #Wygeneruj losowa macierz (tablice) pomiarów o wymiarze 7x7 i rozkładzie normalnym o wartosci sredniej
  88. #równej 50 i odchyleniu standardowym równym 20. Zrzutuj ja na typ całkowity. Oblicz jej wyznacznik, slad,
  89. #wartosci własne oraz odpowiadajace im wektory własne (załóz, ze nie wystapia przypadki zdegenerowane).
  90. #Wyznacz macierz odwrotna. Przemnóz wygenerowana macierz przez wektor [1, 2, 3, 4, 5, 6, 7]. Przypisz
  91. #wartosci na głównej przekatnej do nowego wektora i podnies wszystkie jego elementy do kwadratu. Dokonaj
  92. #rozkładu pierwotnej macierzy na wartosci osobliwe (SVD).
  93.  
  94. #tablica = np.random.standard_normal(49)
  95. #tablica = tablica.reshape(7,7)
  96. #print(tablica)
  97. #tablica_1 = np.matrix(np.random.standard_normal(49))
  98. #tablica_1 = tablica_1.reshape(7,7)
  99. #print(tablica_1)
  100.  
  101. #my_mean = 50.00
  102. #my_std = 20.00
  103. #tablica_2 = np.random.normal(loc = my_mean, scale = my_std, size = 49)
  104. #tablica_2 = tablica_2.reshape(7,7)
  105. #tablica_2 = tablica_2.astype(int)
  106. #print(tablica_2)
  107. #print("srednia:\n", tablica_2.mean())
  108. #print("odchylenie:\n", tablica_2.std())
  109. #wyznacznik = np.linalg.det(tablica_2)
  110. #print("wyznacznik\n", wyznacznik)
  111. #slad = np.trace(tablica_2)
  112. #print("slad\n", slad)
  113. #wartosci_wlasne, wektory_wlasne = np.linalg.eig(tablica_2)
  114. #print("wartosci_wlasne:\n", wartosci_wlasne," \n wektory wlasne:\n", wektory_wlasne)
  115. #macierz_odwrotna = np.linalg.inv(tablica_2)
  116. #print("macierz odwrotna:\n", macierz_odwrotna)
  117. #wektor = np.arange(1,8)
  118. #print(wektor)
  119. #iloczyn = wektor * tablica_2
  120. #print("iloczyn wektora i tablicy:\n", iloczyn)
  121. #nowy_wektor = tablica_2.diagonal() **2
  122. #print(nowy_wektor)
  123. #w1, w2, w3 = np.linalg.svd(tablica_2)
  124. #print("w1: \n",w1,"\n", w1.shape, "\nw2:\n", w2,"\n", w2.shape, "\nw3:\n",w3,"\n", w3.shape)
  125.  
  126.  
  127.  
  128. #zadanie 4
  129. #Wczytaj plik iris.csv. Dane zapisz do słownika, który do kazdej cechy danych wejsciowych przyporzadkuje
  130. #liste wszystkich wartosci. Policz i wypisz srednia˛ oraz odchylenie standardowe dla kazdego atrybutu. Wyjscie
  131. #sformatuj do czterech miejsc po przecinku. Wyznacz i wypisz liczebnosc kazdej klasy.
  132.  
  133. ##wczytywanie
  134. current_dir = os.path.abspath(os.path.dirname(__file__))
  135. data_path = os.path.join(current_dir, "Data")
  136. csv_path = os.path.join(data_path, "iris.csv")
  137. ##print(current_dir)
  138. #try:
  139. # data_file = open(csv_path)
  140. #except:
  141. # pass
  142. #finally:
  143. # pass
  144. #with open(csv_path) as csv_file:
  145. # reader = list(csv.reader(csv_file, delimiter=';'))
  146. # print(reader)
  147. #print(dir(reader))
  148. # for item in reader:
  149. # print(item)
  150.  
  151.  
  152. current_dir = os.path.abspath(os.path.dirname(__file__))
  153. data_path = os.path.join(current_dir, "Data")
  154. csv_path = os.path.join(data_path, "iris.csv")
  155.  
  156. with open(csv_path) as csv_file:
  157. output_dict = dict()
  158. csv_reader = csv.reader(csv_file)
  159. first_row = next(csv_reader)
  160. for item in first_row:
  161. output_dict[item] = []
  162. for item in csv_reader:
  163. for i in range(len(item)):
  164. try:
  165. output_dict[first_row[i]].append(float(item[i]))
  166. except:
  167. output_dict[first_row[i]].append(item[i])
  168.  
  169. for key in output_dict.keys():
  170. try:
  171. output_dict[key] = np.array(output_dict[key], dtype=np.float)
  172. except:
  173. pass
  174.  
  175.  
  176. # print("Sepal width:", round(np.mean(output_dict['sepal.width']), 4))
  177. # print("Sepal width std:", round(np.std(output_dict['sepal.width']),4))
  178. # print("Sepal length mean:", round(np.mean(output_dict['sepal.length']),4))
  179. # print("Sepal length std:", round(np.std(output_dict['sepal.length']), 4))
  180. # print("Petal width:", round(np.mean(output_dict['petal.width']), 4))
  181. # print("Petal width std:", round(np.std(output_dict['petal.width']),4))
  182. # print("Petal length mean:", round(np.mean(output_dict['petal.length']),4))
  183. # print("Petal length std:", round(np.std(output_dict['petal.length']), 4))
  184. #print("Number of Setosa:", round(np.size((output_dict[,2))
  185.  
  186.  
  187. #Zadanie 5
  188. #Napisz funkcje, która jako argument przyjmuje sciezke do folderu. Funkcja powinna zwrócic liste zawierajaca
  189. #absolutne sciezki do kazdego pliku zawierajacego rozszerzenie .png. Pozostałe pliki powinny zostac zignorowane.
  190. #Funkcje przetestuj na folderze cifar_subset.
  191.  
  192. #current_dir = os.path.abspath(os.path.dirname(__file__))
  193. #data_path = os.path.join(current_dir, "Data")
  194. #csv_path = os.path.join(data_path, ".png")
  195. ##print(current_dir)
  196. #try:
  197. # data_file = open(csv_path)
  198. #except:
  199. # pass
  200. #finally:
  201. # pass
  202. #with open(csv_path) as csv_file:
  203. # reader = csv.reader(csv_file)
  204. # print(reader)
  205. # #print(dir(reader))
  206. # for item in reader:
  207. # print(item)
  208.  
  209.  
  210.  
  211. #Zadanie 6
  212. #Korzystajac z rozwiazania Zadania 4. wczytaj dane z pliku iris.csv. Nastepnie do kazdego przypadku atrybutu
  213. #"Sepal Length" dodaj 1, od kazdego atrybutu "Sepal Width" odejmij 1, "Petal Length" podnies do kwadratu, a
  214. #"Petal Width" spierwiastkuj. Wyniki zapisz do pliku iris_zad_6.csv o takim samym formacie jak oryginalny
  215. #plik iris.csv. Zapisz plik do tego samego folderu co plik iris.csv.
  216.  
  217. #current_dir = os.path.abspath(os.path.dirname(__file__))
  218. #data_path = os.path.join(current_dir, "Data")
  219. #csv_path = os.path.join(data_path, "iris.csv")
  220. #
  221. #with open(csv_path) as csv_file:
  222. # output_dict = dict()
  223. # csv_reader = csv.reader(csv_file)
  224. # first_row = next(csv_reader)
  225. # for item in first_row:
  226. # output_dict[item] = []
  227. # for item in csv_reader:
  228. # for i in range(len(item)):
  229. # try:
  230. # output_dict[first_row[i]].append(float(item[i]))
  231. # except:
  232. # output_dict[first_row[i]].append(item[i])
  233. #
  234. # for key in output_dict.keys():
  235. # try:
  236. # output_dict[key] = np.array(output_dict[key], dtype=np.float)
  237. # except:
  238. # pass
  239. # output_dict["sepal.length"] = output_dict["sepal.length"] + 1
  240. # print(output_dict["sepal.length"])
  241. # output_dict["sepal.width"] = output_dict["sepal.length"] - 1
  242. # print(output_dict["sepal.width"])
  243. # output_dict["petal.length"] = output_dict["petal.length"] ** 2
  244. # print(output_dict["petal.length"])
  245. # output_dict["petal.width"] = np.sqrt(output_dict["petal.width"])
  246. # print(output_dict["petal.width"])
  247. #
  248. #current_dir_zadanie_6 = os.path.abspath(os.path.dirname(__file__))
  249. #data_path_zadanie_6 = os.path.join(current_dir_zadanie_6, "Data")
  250. #
  251. #with open(os.path.join("Data", "zad_6.csv"),'w', encoding='utf-8') as csvfile:
  252. # # inicjujemy *zapisywacz*
  253. # csvwriter = csv.writer(csvfile)
  254. # # wpisujemy pierwsza linie naszego pliku CSV (nazwy kolumn)
  255. # csvwriter.writerow(output_dict["sepal.length"])
  256. # csvwriter.writerow(output_dict["sepal.width"])
  257. # csvwriter.writerow(output_dict["petal.length"])
  258. # csvwriter.writerow(output_dict["petal.width"])
  259. #
  260.  
  261.  
  262.  
  263. #zadanie 7
  264. #Wygeneruj losowa tablice zawierajaca 1000 elementów o typie float32 (korzystajac z dowolnego rozkładu).
  265. #Nastepnie pomnóz tablice przez 1000 i wynik zapisz do pliku zad_7.txt. Nastepnie wczytaj dane z pliku do
  266. #nowej tablicy i podziel ja przez 1000. Oblicz bład sredniokwadratowy pomiedzy oryginalnie wygenerowana
  267. #tablica a tablica wynikowa.
  268.  
  269. #tablica = np.random.standard_normal(1000)
  270. #tablica = tablica.astype(np.float32)
  271. #print(tablica)
  272. #tablica = tablica * 1000
  273. #print(tablica)
  274. #np.save("Zadanie_7.txt", tablica)
  275. #tablica_2 = np.loadtxt("Zadanie_7.txt")
  276. #print(tablica_2)
  277. #tablica_2= tablica_2 / 1000
  278. #mse = ((tablica - tablica_2)**2).mean()
  279. #print("mse wynosi:\n", mse)
  280.  
  281. #broadcasting! skladnanie macierzy bez petli for
  282.  
  283. #Zadanie 8!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  284. #Wygeneruj tablice trójwymiarowa zawierajaca 50 losowych macierzy reprezentujacych pomiary o wymiarze
  285. #100x100. Dla kazdej z macierzy oblicz wyznacznik. Nastepnie wygeneruj losowe 50 wektorów o wymiarze
  286. #100x1. Przemnóz kazda z losowo wygenerowanych macierzy przez odpowiadajacy jej (indeksem) losowo
  287. #wygenerowany wektor. Nie uzywaj jakichkolwiek petli, instrukcji warunkowych, badz instrukcji sterujacych.
  288. #Załóz, ze wygenerowane macierze nie beda zdegenerowane. Nastepnie zrób to samo ale uzyj petli for i licz
  289. #wyznacznik oraz przemnazaj macierze przez wektory jeden po drugim. Korzystajac z biblioteki time porównaj
  290. #czas potrzebny na przeprowadzenie obliczen.
  291.  
  292. #tab = np.ndarray((100, 100, 50))
  293. #for i in range(50):
  294. # tab[:,:,i] = np.asmatrix(np.random.rand(100, 100))
  295. # print("Wyznacznik macierz(", i, ") :", np.linalg.det(tab[:,:,i]) )
  296. #wektory = np.asmatrix(np.random.rand(50,100))
  297. #print("mnozenie", wektory * tab[100:100:,])
  298. #matrix = np.random.rand(10000)
  299. #matrix = matrix.reshape(100,100)
  300. #print(matrix)
  301. #vector = np.random.rand(100)
  302. #print(vector)
  303.  
  304.  
  305.  
  306.  
  307. #Zadanie 9
  308. #Zaproponuj trzy sposoby (jedna linia kodu) na wyznaczenie przekatnej głównej rezultatu mnozenia dwóch
  309. #macierzy kwadratowych.
  310.  
  311. #matrix_1 = np.random.standard_normal(9)
  312. #matrix_1 = matrix_1.reshape(3,3)
  313. #matrix_1 = matrix_1.astype(int)
  314. #print(matrix_1)
  315. #matrix_2 = np.random.standard_normal(9)
  316. #matrix_2 = matrix_2.reshape(3,3)
  317. #matrix_2 = matrix_2.astype(int)
  318. #print(matrix_2)
  319. #przekatna = (matrix_1 * matrix_2).diagonal()
  320. #print("przekatna:\n", przekatna)
  321.  
  322. np.sum( A * B.T, axis=1)
  323. np.einsum("i, j, j i -> i ", A, B)
  324.  
  325.  
  326.  
  327. #Zadanie 10
  328. #Zdefiniuj dowolny wektor o długosci 10 elementów. Kazdy element o parzystym indeksie podnies do kwadratu,
  329. #a kazdy element o nieparzystym indeksie wyzeruj.
  330.  
  331. #wektor = np.random.randint(10,size =(1,10))
  332. #for i in range(wektor.shape[0]):
  333. # if i% 2 == 0:
  334. # wektor[i] = wektor[i] * wektor[i]
  335. # else:
  336. # wektor[i]=0
  337.  
  338. #print(wektor)
  339.  
  340. #inny sposob:
  341. #v1 = np.random.randint(100,size =(1,10))
  342. #print(v1)
  343. #
  344. #def n_largest(v,n):
  345. # l = []
  346. # d = list(v[0])
  347. # print(d)
  348. # for i in range(n):
  349. # l.append(max(d))
  350. # d.remove(max(d))
  351. # print(l)
  352. #
  353. #
  354. #print(n_largest(v1,5))
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361. #Zadanie 11
  362. #Wygeneruj losowy wektor 1000 liczb całkowitych. Napisz funkcje, która zwróci n (argument) najwiekszych
  363. #wartosci.
  364.  
  365. #N = 1000
  366. #vector = np.random.rand(N)
  367. #liczba = 3
  368. #print(vector)
  369. #def n_largest(array, n):
  370. # #print(np.sort(array))
  371. # sorted_array = np.sort(array)
  372. # return sorted_array[-n:]
  373. #print(n_largest(vector, liczba))
  374.  
  375.  
  376.  
  377. #Zadanie 12
  378. #Zdefiniuj dowolna tablice. Spraw by próba zmiany wartosci zadanej tablicy skutkowała zgłoszeniem błedu.
  379.  
  380. #N = 10
  381. #array = np.random.rand(N)
  382. ##print(array)
  383. #array.flags.writeable = False
  384. #try:
  385. # array[5] = 7
  386. #except Exception as e:
  387. # print(e)
  388.  
  389.  
  390.  
  391. #Zadanie 13!!!!!!!!!!!!!!!!!!!!!!!!
  392. #Zdefiniuj funkcje liczaca rzad macierzy wejsciowej bez uzycia funkcji matrix_rank z biblioteki numpy.
  393.  
  394. #array = np.random.uniform(0, 1, (10,10))
  395. #print(array)
  396. #def rank(A, eps=1e-12):
  397. # u, s, vh = np.linalg.svd(A)
  398. # return len([x for x in s if abs(x) > eps])
  399. #print("rzad:\n", rank(array))
  400.  
  401.  
  402.  
  403. #Zadannie 14
  404. #Zdefiniuj ustrukturyzowana tablice zawierajaca w kazdym polu pozycje (x, y, z), a nastepnie wypełnij ja
  405. #losowymi wartosciami.
  406.  
  407.  
  408. #N=random.randint(0,9)
  409. #print(N)
  410. #x = np.random.rand()
  411. #y = np.random.rand()
  412. #z = np.random.rand()
  413. #
  414. #array =[(x, y, z) for i in range(N)]
  415. #print(array)
  416.  
  417.  
  418.  
  419. #Zadanie 15
  420. #Zdefiniuj losowy wektor liczb zmiennoprzecinkowych o losowej długosci. Zamien wszystkie wartosci stanowiace
  421. # wartosc minimalna wartoscia srednia. Powtórz tak długo az nie zostania dokonana zadna zmiana.
  422.  
  423. #N = random.randrange(0,9) #losowanie dlugosci wektora
  424. ##print(N)
  425. #vector = np.random.rand(N)
  426. ##print(vector)
  427. #minimum = np.amin(vector)
  428. ##print(minimum)
  429. #mean_value = np.mean(vector)
  430. ##print(mean_value)
  431. #for i in range(0, N):
  432. # vector[i]= mean_value
  433. #print(vector)
  434.  
  435.  
  436.  
  437.  
  438. JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK JACEK
  439.  
  440.  
  441.  
  442.  
  443.  
  444. # 1 Jest
  445. # 2 Jest
  446. # 3 Jest
  447. # 4 Jest
  448. # 5 xxx
  449. # 6 xxx
  450. # 7 Jest
  451. # 8 Jest
  452. # 9 50 %
  453. # 10 Jest
  454. # 11 Jest
  455. # 12
  456. # 13 Jest
  457. # 14
  458. # 15
  459.  
  460. # ZADANIE 1
  461. #import numpy as np
  462. #
  463. #array_1 = np.arange(0, 101)
  464. #array_2 = np.arange(100, -1, -1)
  465. #print(array_1)
  466. #print(array_2)
  467. #print(array_1 + array_2)
  468. #print(array_1 - array_1)
  469. #print(array_1 * array_2)
  470. #print(array_1[:10] - array_1[-10:])
  471. #print(array_1[array_1 % 3 == 0])
  472.  
  473.  
  474. #000000000000000000000000000000000000000000000000000000000000000000000000000
  475.  
  476. # ZADANIE 2
  477.  
  478. #import numpy as np
  479. #import time
  480. #import csv
  481. #
  482. #
  483. #b_t = time.time()
  484. #for item in list_1:
  485. # list_2.append(item*item)
  486. #e_t = time.time()
  487. #print("Elapsed time: ", e_t - b_t)
  488. #
  489. #list_1 = list(range(0, 10000000))
  490. #b_t = time.time()
  491. #list_2 = [item*item for item in list_1]
  492. #e_t = time.time()
  493. #print("Elapsed time: ", e_t - b_t)
  494. #
  495. #array_1 = np.arange(0, 10000000)
  496. #b_t = time.time()
  497. #array_2 = array_1 * array_1
  498. #e_t = time.time()
  499. #print("Elapsed time: ", e_t - b_t)
  500.  
  501.  
  502.  
  503. #000000000000000000000000000000000000000000000000000000000000000000000000000
  504.  
  505. # ZADANIE 3
  506. #import random
  507. #import numpy as np
  508. #import matplotlib.pyplot as plt
  509. #
  510. #
  511. #tab = np.random.normal(50,20,(7,7))
  512. #tab1 =np.round(tab)
  513. #
  514. #
  515.  
  516. #count, bins, ignored = plt.hist(tab1, 30, density=True)
  517. #plt.plot(bins, 1/(20 * np.sqrt(2 * np.pi)) *
  518. # np.exp( - (bins - 50)**2 / (2 * 20**2) ),
  519. # linewidth=3, color='r')
  520. #plt.show()
  521.  
  522.  
  523. #print("Wyznacznik: {}".format(np.linalg.det(tab1)))
  524. #print("Slad: {}".format(np.trace(tab1)))
  525. #print("Wartosci i wketory wlasne {}".format(np.linalg.eig(tab)))
  526. #print("Wektory wlasne: {}".format(np.dot(tab1)))
  527.  
  528. #Elementy tablicy razy wektor
  529. #print("Matrix Tab przemnzona przez wektor [1,2,3,4,5,6,7]\n{}".format(np.dot(tab1,[1,2,3,4,5,6,7])))
  530.  
  531. #RevTab = np.linalg.inv(tab1) #Macierz odwrotna
  532.  
  533. #Przkątna macierzy do kwadratu
  534. #print("Na przekatnej macierzy mamy:\n{}".format(np.square(np.diagonal(tab1))))
  535.  
  536. #print(np.linalg.svd(tab1)) <-- SVD macierzy
  537.  
  538. #000000000000000000000000000000000000000000000000000000000000000000000000000
  539.  
  540.  
  541.  
  542. #Zadanie 4
  543. #import os
  544. #import numpy as np
  545. #import csv
  546. #
  547. #
  548. #current_dir = os.path.abspath(os.path.dirname(__file__))
  549. #data_folder = os.path.join(current_dir, "Data")
  550. #csv_path = os.path.join(data_folder, "iris.csv")
  551. #
  552. #
  553. #with open(csv_path) as csv_file:
  554. # output_dict = dict()
  555. # reader = csv.reader(csv_file)
  556. # first_row = next(reader)
  557. # for key in first_row:
  558. # output_dict[key] = []
  559. # for row in reader:
  560. # for i in range(len(first_row)):
  561. # try:
  562. # output_dict[first_row[i]].append(float(row[i]))
  563. # except:
  564. # output_dict[first_row[i]].append(row[i])
  565. #
  566. # for key in output_dict.keys():
  567. # output_dict[key] = np.array(output_dict[key])
  568. #
  569. #print("Septal Length mean: ", np.mean(output_dict['sepal.length']))
  570. #print("Septal Length std: ", np.std(output_dict['sepal.length']))
  571. #print("Septal Width mean: ", np.mean(output_dict['sepal.width']))
  572. #print("Septal Width std: ", np.std(output_dict['sepal.width']))
  573. #print("Petal length mean: ", np.mean(output_dict['petal.width']))
  574. #print("Petal length std: ", np.std(output_dict['petal.length']))
  575. #print("Petal width mean: ", np.mean(output_dict['petal.length']))
  576. #print("Petal width std: ", np.std(output_dict['petal.length']))
  577. #
  578.  
  579.  
  580. #000000000000000000000000000000000000000000000000000000000000000000000000000
  581.  
  582. # ZADANIE 5
  583.  
  584. #current_dir = os.path.abspath(os.path.dirname(__file__))
  585. #data_path = os.path.join(current_dir, "Data")
  586. #csv_path = os.path.join(data_path, ".png")
  587. ##print(current_dir)
  588. #try:
  589. # data_file = open(csv_path)
  590. #except:
  591. # pass
  592. #finally:
  593. # pass
  594. #with open(csv_path) as csv_file:
  595. # reader = csv.reader(csv_file)
  596. # print(reader)
  597. # #print(dir(reader))
  598. # for item in reader:
  599. # print(item)
  600.  
  601. #000000000000000000000000000000000000000000000000000000000000000000000000000
  602.  
  603. #Zadanie 7 , blad MSE
  604. #
  605. #import numpy as np
  606. #
  607. ##array_1 = np.arange(1000, dtype=np.float32)
  608. #array_1 = np.float32(np.random.normal((1000,1)))
  609. #array_1_export = array_1 * 1000
  610. #
  611. #array_1_export.tofile('zad7.txt')
  612. #
  613. #array_2_import = np.fromfile('zad7.txt',dtype=np.float32)
  614. #array_2 = array_2_import /1000
  615. #
  616. ##print(array_2[:25])
  617. #
  618. #ax=0
  619. #mse = (np.square(array_1 - array_2)).mean(axis=ax)
  620. #print("MSE: {}".format(mse))
  621. #
  622. #
  623. #000000000000000000000000000000000000000000000000000000000000000000000000000
  624. ##Zadanie 8
  625. #import numpy as np
  626. #
  627. #tab_1 = np.ndarray((100,100,50))
  628. #
  629. #for i in range(50):
  630. # tab_1[:,:,i] = np.asmatrix(np.random.rand(100,100))
  631. # print("Wyznacznik macierzy (", i,"):",np.linalg.det(tab_1[:,:,i]))
  632. #
  633. #wektory = np.asmatrix(np.random.rand(50,100))
  634. #000000000000000000000000000000000000000000000000000000000000000000000000000
  635. ##Zadanie 9
  636. #import numpy as np
  637. #
  638. #tab = np.random.rand(5,5)
  639. #tab1 = np.random.rand(5,5)
  640. #tab2=tab*tab1
  641. #print(np.diag(tab*tab1)) #Metoda 1
  642.  
  643. #j=-1
  644. #for i in range(0,len(tab)):
  645. # j = j + 1
  646. # print(tab2[i,j])
  647.  
  648. #000000000000000000000000000000000000000000000000000000000000000000000000000
  649. #Zadanie 10
  650. #import numpy as np
  651. #
  652. #vector = np.arange(0,10)
  653. #for i in range(0,len(vector)):
  654. # if i % 2 == 0:
  655. # vector[i] = vector[i] * vector[i]
  656. # else:
  657. # vector[i] = 0
  658. #
  659. #print(vector)
  660. #
  661.  
  662.  
  663.  
  664. #000000000000000000000000000000000000000000000000000000000000000000000000000
  665. #Zadanie 11
  666. #import numpy as np
  667. #
  668. #def largest_num(array,count):
  669. # array_out = []
  670. # for i in range(0,count):
  671. # array_out.append(np.amax(array))
  672. # array = np.delete(array,array.argmax(axis=0))
  673. # return array_out
  674. #
  675. #array_1 = np.arange(0,1000)
  676. #print(largest_num(array_1,3))
  677. #
  678. #000000000000000000000000000000000000000000000000000000000000000000000000000
  679.  
  680. # Zadanie 12
  681.  
  682. #N = 10
  683. #array = np.random.rand(N)
  684. ##print(array)
  685. #array.flags.writeable = False
  686. #try:
  687. # array[5] = 7
  688. #except Exception as e:
  689. # print(e)
  690.  
  691.  
  692. #Zadanie 13
  693. #import numpy as np
  694. #
  695. #def rank(A, eps=1e-12):
  696. # u, s, vh = np.linalg.svd(A)
  697. # return len([x for x in s if abs(x) > eps])
  698. #
  699. #array_1 = ([1,2,3],[3,4,5],[5,3,3])
  700. #print(rank(array_1))
  701. #print(np.linalg.matrix_rank(array_1))
  702.  
  703.  
  704. #000000000000000000000000000000000000000000000000000000000000000000000000000
  705.  
  706.  
  707. #Zadannie 14
  708. #Zdefiniuj ustrukturyzowana tablice zawierajaca w kazdym polu pozycje (x, y, z), a nastepnie wypełnij ja
  709. #losowymi wartosciami.
  710.  
  711.  
  712. #N=random.randint(0,9)
  713. #print(N)
  714. #x = np.random.rand()
  715. #y = np.random.rand()
  716. #z = np.random.rand()
  717. #
  718. #array =[(x, y, z) for i in range(N)]
  719. #print(array)
  720.  
  721. #000000000000000000000000000000000000000000000000000000000000000000000000000
  722.  
  723. #Zadanie 15
  724. #Zdefiniuj losowy wektor liczb zmiennoprzecinkowych o losowej długosci. Zamien wszystkie wartosci stanowiace
  725. # wartosc minimalna wartoscia srednia. Powtórz tak długo az nie zostania dokonana zadna zmiana.
  726.  
  727. #import random
  728. #import numpy as np
  729. #
  730. #N = random.randrange(0,9) #losowanie dlugosci wektora
  731. ##print(N)
  732. #vector = np.random.rand(N)
  733. ##print(vector)
  734. #minimum = np.amin(vector)
  735. ##print(minimum)
  736. #mean_value = np.mean(vector)
  737. ##print(mean_value)
  738. #for i in range(0, N):
  739. # vector[i]= mean_value
  740. #print(vector)
  741.  
  742.  
  743.  
  744.  
  745.  
  746. #import numpy as np
  747. #import random
  748. #
  749. #mean = 10
  750. #sigma = 6
  751. #tab = np.random.normal(mean,sigma,(100,100))
  752. #
  753. #print(abs(mean - np.mean(tab)) < 0.01)
  754. #print(abs(sigma - np.std(tab, ddof=1)) < 0.01)
  755. #
  756. ##print("Wartosci i wketory wlasne {}".format(np.linalg.eig(tab)))
  757. #InvTab = np.linalg.inv(tab) #Wartosci na ujemne
  758. #InvTab2 = np.flip(tab) #Odwraca przód - tył
  759. #print(InvTab)
  760. #print(InvTab2)
  761. #
  762. #
  763. #print(np.linalg.eig(InvTab2))
  764.  
  765.  
  766. #import numpy as np
  767. #import random
  768. #import time
  769. #
  770. #
  771. #arr = np.random.poisson(5, (1000,100,100))
  772. #bt_1 = time.time()
  773. #print(np.transpose(arr))
  774. #et_1 = time.time()
  775. #print("pomiar 1", et_1- bt_1)
  776. #
  777. #
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement