forked from tdwojak/Python2018
Compare commits
No commits in common. "master" and "master" have entirely different histories.
@ -7,11 +7,8 @@ która zawiera tylko elementy z list o parzystych indeksach.
|
||||
"""
|
||||
|
||||
def even_elements(lista):
|
||||
result = []
|
||||
for i in range(len(lista)):
|
||||
if i % 2 == 0:
|
||||
result.append(lista[i])
|
||||
return result
|
||||
pass
|
||||
|
||||
|
||||
def tests(f):
|
||||
inputs = [[[1, 2, 3, 4, 5, 6]], [[]], [[41]]]
|
||||
|
@ -6,16 +6,7 @@
|
||||
"""
|
||||
|
||||
def days_in_year(days):
|
||||
if days % 4 == 0:
|
||||
if days % 100 == 0:
|
||||
if days % 400 == 0:
|
||||
return 366
|
||||
else:
|
||||
return 365
|
||||
else:
|
||||
return 366
|
||||
else:
|
||||
return 365
|
||||
pass
|
||||
|
||||
def tests(f):
|
||||
inputs = [[2015], [2012], [1900], [2400], [1977]]
|
||||
|
@ -13,7 +13,9 @@ jak 'set', która przechowuje elementy bez powtórzeń.)
|
||||
|
||||
|
||||
def oov(text, vocab):
|
||||
return (set(text.lower().split()) - set(vocab))
|
||||
pass
|
||||
|
||||
|
||||
|
||||
def tests(f):
|
||||
inputs = [("this is a string , which i will use for string testing",
|
||||
|
@ -7,10 +7,7 @@ Jeśli podany argument jest mniejszy od 1 powinna być zwracana wartość 0.
|
||||
"""
|
||||
|
||||
def sum_from_one_to_n(n):
|
||||
if n < 1:
|
||||
return 0
|
||||
else:
|
||||
return sum(i for i in range(1, n+1))
|
||||
pass
|
||||
|
||||
|
||||
def tests(f):
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
import math as m
|
||||
|
||||
|
||||
"""
|
||||
Napisz funkcję euclidean_distance obliczającą odległość między
|
||||
@ -10,7 +10,7 @@ np. odległość pomiędzy punktami (0, 0, 0) i (3, 4, 0) jest równa 5.
|
||||
"""
|
||||
|
||||
def euclidean_distance(x, y):
|
||||
return m.sqrt(sum((i-j)**2 for i, j in zip(x, y)))
|
||||
pass
|
||||
|
||||
def tests(f):
|
||||
inputs = [[(2.3, 4.3, -7.5), (2.3, 8.5, -7.5)]]
|
||||
|
@ -10,10 +10,7 @@ ma być zwracany napis "It's not a Big 'No!'".
|
||||
"""
|
||||
|
||||
def big_no(n):
|
||||
if n < 5:
|
||||
return "It's not a Big \'No!\'"
|
||||
else:
|
||||
return "N" + n * "O" + "!"
|
||||
pass
|
||||
|
||||
def tests(f):
|
||||
inputs = [[5], [6], [2]]
|
||||
|
@ -6,7 +6,7 @@ Napisz funkcję char_sum, która dla zadanego łańcucha zwraca
|
||||
sumę kodów ASCII znaków.
|
||||
"""
|
||||
def char_sum(text):
|
||||
return sum(ord(x) for x in text)
|
||||
pass
|
||||
|
||||
def tests(f):
|
||||
inputs = [["this is a string"], ["this is another string"]]
|
||||
|
@ -7,7 +7,7 @@ przez 3 lub 5 mniejszych niż n.
|
||||
"""
|
||||
|
||||
def sum_div35(n):
|
||||
return sum(x for x in range(n) if (x % 3 == 0 or x % 5 == 0))
|
||||
pass
|
||||
|
||||
def tests(f):
|
||||
inputs = [[10], [100], [3845]]
|
||||
|
@ -9,11 +9,8 @@ Np. leet('leet') powinno zwrócić '1337'.
|
||||
|
||||
|
||||
def leet_speak(text):
|
||||
words_dict = { 'e': '3', 'l': '1', 'o': '0', 't': '7' }
|
||||
for letter in text:
|
||||
if letter in words_dict:
|
||||
text = text.replace(letter, words_dict[letter])
|
||||
return text
|
||||
pass
|
||||
|
||||
|
||||
def tests(f):
|
||||
inputs = [['leet'], ['do not want']]
|
||||
|
@ -9,13 +9,8 @@ na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'.
|
||||
|
||||
|
||||
def pokemon_speak(text):
|
||||
result = []
|
||||
for i in range(len(text)):
|
||||
if i % 2 == 0:
|
||||
result.append(text[i].upper())
|
||||
else:
|
||||
result.append(text[i])
|
||||
return ''.join(result)
|
||||
pass
|
||||
|
||||
|
||||
def tests(f):
|
||||
inputs = [['pokemon'], ['do not want'], ['POKEMON']]
|
||||
|
@ -9,7 +9,8 @@ Oba napisy będą składać się wyłacznie z małych liter.
|
||||
"""
|
||||
|
||||
def common_chars(string1, string2):
|
||||
return sorted(set(string1.replace(' ', '')) & set(string2.replace(' ', '')))
|
||||
pass
|
||||
|
||||
|
||||
def tests(f):
|
||||
inputs = [["this is a string", "ala ma kota"]]
|
||||
|
@ -6,7 +6,7 @@ def suma(a, b):
|
||||
"""
|
||||
Napisz funkcję, która zwraca sumę elementów.
|
||||
"""
|
||||
return a + b
|
||||
return 0
|
||||
|
||||
def tests(f):
|
||||
inputs = [(2, 3), (0, 0), (1, 1)]
|
||||
|
@ -1,14 +0,0 @@
|
||||
import glob
|
||||
import os
|
||||
|
||||
scores_files = glob.glob('./scores/model.iter*[0-9].npz.bleu')
|
||||
max_result = { 'path': '', 'score': 0.0 }
|
||||
|
||||
for f in scores_files:
|
||||
read_file = open(f, 'r').read().split()
|
||||
result = float(read_file[2][:-1])
|
||||
if(result > max_result['score']):
|
||||
max_result['score'] = result
|
||||
max_result['path'] = f
|
||||
|
||||
print(os.path.abspath(max_result['path']))
|
61
labs06/task02.py
Normal file → Executable file
61
labs06/task02.py
Normal file → Executable file
@ -1,21 +1,14 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
import pandas as pd
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
|
||||
|
||||
def wczytaj_dane():
|
||||
return pd.read_csv('mieszkania.csv')
|
||||
|
||||
pass
|
||||
|
||||
def most_common_room_number(dane):
|
||||
return dane.Rooms.value_counts().index[0]
|
||||
|
||||
pass
|
||||
|
||||
def cheapest_flats(dane, n):
|
||||
return dane.sort_values(by=['Expected'], ascending=False).head(n)
|
||||
|
||||
pass
|
||||
|
||||
def find_borough(desc):
|
||||
dzielnice = ['Stare Miasto',
|
||||
@ -26,44 +19,23 @@ def find_borough(desc):
|
||||
'Winogrady',
|
||||
'Miłostowo',
|
||||
'Dębiec']
|
||||
|
||||
common_boroughs = list(set(desc.split()).intersection(dzielnice))
|
||||
if not common_boroughs:
|
||||
return "Inne"
|
||||
else:
|
||||
return str(common_boroughs[0])
|
||||
pass
|
||||
|
||||
|
||||
def add_borough(dane):
|
||||
dane['Borough'] = dane.Location.apply(lambda el: find_borough(str(el)))
|
||||
|
||||
pass
|
||||
|
||||
def write_plot(dane, filename):
|
||||
column_names = list(dane.Borough.value_counts().index)
|
||||
x_pos = np.arange(len(column_names))
|
||||
y_pos = list(dane.Borough.value_counts())
|
||||
|
||||
plt.bar(x_pos, y_pos, align='center')
|
||||
plt.xticks(x_pos, column_names)
|
||||
plt.xlabel('Dzielnica')
|
||||
plt.ylabel('Liczba ogłoszeń')
|
||||
plt.title('Liczba ogłoszeń mieszkaniowych z podziałem na dzielnice')
|
||||
|
||||
img = plt.gcf()
|
||||
img.savefig(filename)
|
||||
|
||||
pass
|
||||
|
||||
def mean_price(dane, room_number):
|
||||
return dane.Expected[dane.Rooms == room_number].mean()
|
||||
|
||||
pass
|
||||
|
||||
def find_13(dane):
|
||||
return dane.Borough[dane.Floor == 13].unique()
|
||||
|
||||
pass
|
||||
|
||||
def find_best_flats(dane):
|
||||
return dane[(dane.Borough == 'Winogrady') & (dane.Rooms == 3) & (dane.Floor == 1)]
|
||||
|
||||
pass
|
||||
|
||||
def main():
|
||||
dane = wczytaj_dane()
|
||||
@ -72,22 +44,11 @@ def main():
|
||||
print("Najpopularniejsza liczba pokoi w mieszkaniu to: {}"
|
||||
.format(most_common_room_number(dane)))
|
||||
|
||||
print("{} to najładniejsza dzielnica w Poznaniu."
|
||||
.format(find_borough("Grunwald i Jeżyce")))
|
||||
print("{} to najłądniejsza dzielnica w Poznaniu."
|
||||
.format(find_borough("Grunwald i Jeżyce"))))
|
||||
|
||||
print("Średnia cena mieszkania 3-pokojowego, to: {}"
|
||||
.format(mean_price(dane, 3)))
|
||||
|
||||
add_borough(dane)
|
||||
|
||||
print("Lista dzielnic, które zawierają ofertę mieszkania na 13 piętrze: {}"
|
||||
.format(', '.join(find_13(dane))))
|
||||
|
||||
write_plot(dane, "test")
|
||||
|
||||
# print("Oferty mieszkań, które znajdują się na Winogradach, mają 3 pokoje i są na 1 piętrze:")
|
||||
# print(find_best_flats(dane))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
29
labs06/tasks.py
Normal file → Executable file
29
labs06/tasks.py
Normal file → Executable file
@ -4,82 +4,77 @@
|
||||
"""
|
||||
1. Zaimportuj bibliotkę pandas jako pd.
|
||||
"""
|
||||
import pandas as pd
|
||||
|
||||
|
||||
"""
|
||||
2. Wczytaj zbiór danych `311.csv` do zniennej data.
|
||||
"""
|
||||
data = pd.read_csv('311.csv', low_memory=False)
|
||||
|
||||
|
||||
"""
|
||||
3. Wyświetl 5 pierwszych wierszy z data.
|
||||
"""
|
||||
print(data.head())
|
||||
|
||||
|
||||
"""
|
||||
4. Wyświetl nazwy kolumn.
|
||||
"""
|
||||
print(data.columns.values)
|
||||
|
||||
|
||||
"""
|
||||
5. Wyświetl ile nasz zbiór danych ma kolumn i wierszy.
|
||||
"""
|
||||
print('Rows: ' + str(data.shape[0]) + '\nColumns: ' + str(data.shape[1]))
|
||||
|
||||
|
||||
"""
|
||||
6. Wyświetl kolumnę 'City' z powyższego zbioru danych.
|
||||
"""
|
||||
print(data.City)
|
||||
|
||||
|
||||
"""
|
||||
7. Wyświetl jakie wartoścu przyjmuje kolumna 'City'.
|
||||
"""
|
||||
print(data.City.unique())
|
||||
|
||||
"""
|
||||
8. Wyświetl tabelę rozstawną kolumny City.
|
||||
"""
|
||||
print(data.City.value_counts())
|
||||
|
||||
|
||||
"""
|
||||
9. Wyświetl tylko pierwsze 4 wiersze z wcześniejszego polecenia.
|
||||
"""
|
||||
print(data.City.value_counts().head(4))
|
||||
|
||||
|
||||
"""
|
||||
10. Wyświetl, w ilu przypadkach kolumna City zawiera NaN.
|
||||
"""
|
||||
print(len(data[data.City.isnull()]))
|
||||
|
||||
|
||||
|
||||
"""
|
||||
11. Wyświetl data.info()
|
||||
"""
|
||||
print(data.info())
|
||||
|
||||
"""
|
||||
12. Wyświetl tylko kolumny Borough i Agency i tylko 5 ostatnich linii.
|
||||
"""
|
||||
print(data[['Borough', 'Agency']].tail())
|
||||
|
||||
|
||||
"""
|
||||
13. Wyświetl tylko te dane, dla których wartość z kolumny Agency jest równa
|
||||
NYPD. Zlicz ile jest takich przykładów.
|
||||
"""
|
||||
print(data[data.Agency == 'NYPD'])
|
||||
|
||||
"""
|
||||
14. Wyświetl wartość minimalną i maksymalną z kolumny Longitude.
|
||||
"""
|
||||
print('Min: ' + str(data.Longitude.min()))
|
||||
print('Max: ' + str(data.Longitude.max()))
|
||||
|
||||
"""
|
||||
15. Dodaj kolumne diff, która powstanie przez sumowanie kolumn Longitude i Latitude.
|
||||
"""
|
||||
data['diff'] = data.Longitude + data.Latitude
|
||||
|
||||
|
||||
"""
|
||||
16. Wyświetl tablę rozstawną dla kolumny 'Descriptor', dla której Agency jest
|
||||
równe NYPD.
|
||||
"""
|
||||
print(data.Descriptor[data.Agency == 'NYPD'].value_counts())
|
||||
|
BIN
labs06/test.png
BIN
labs06/test.png
Binary file not shown.
Before Width: | Height: | Size: 24 KiB |
Loading…
Reference in New Issue
Block a user