Python: Dynamiczne tworzenie zmiennych w kodzie

2020-01-07

W Pythonie występuje funkcja globals(), która zwraca tablicę przechowującą wszystkie zmienne sesji. Kiedy chcesz utworzyć nową zmienną, możesz po prostu dodać nowy element do tej listy

Tutaj przechodzimy pętlą for przez kod 3 razy i tworzymy zmienne o nazwach var_0, var_1 i var_2. Żeby się przekonać, że instrukcja wykorzystująca funkcję globals działa, wyświetlamy zmienne podając ich statyczne nazwy, jakie na tym etapie wykonania kodu powinny już istnieć.

Zależnie od wykorzystywanego edytora, przy linijce zawierającej ten kod może się pojawić ostrzeżenie:

Skoro ta metoda jest taka zła, to czego używać zamiast tego? Można by próbować z listą:

By Rafał Kraik in Python

Linux: Uruchamianie systemu bez grafiki – run level 3

2020-01-01

W tym przypadku chodziło o instalację Centosa, który został zaintalowany w środowisku graficznym. Z grafiką jednak pojawiły się problemy powodujące, że serwer całkowicie się blokował (problemy z klawiaturą).

Oto jak uruchomić Linuxa bez grafiki, ale z obsługą sieci (run level 2 lub 3): Czytaj dalej »

By Rafał Kraik in Linuxy

Python, PANDAS: Jak wywoływać funkcję apply() dla każdego wiersza DataFrame

2019-12-21

Kiedy robisz rzeczy standardowe, korzystasz sobie ze standardowych metod, ale kiedy przychodzi zmierzyć się z niestandardowym problemem, to trzeba sięgnąć po funkcję apply.

Tutaj mamy dosyć nietypowy DataFrame. Dla każdego wiersza DataFrame trzeba wykonać jakąś niestandardową czynność…

Dajmy na to,  że w zależności od zawartości kolumny „rola” trzeba zwrócić taki  albo inny DataFrame – ogólnie wykonać jakąś złożoną operację. W tym celu zdefiunujemy funkcję. Pisząc ją myśl, jakby miała pracować na wierszu z DataFrame. Do dyspozycji masz zmienną row, możesz się odwoływać do niej, jak do wiersza danych, sprawdzać wartości, pobierać dane, budować if, while – cokolwiek. Funkcja ta może zwracać nowy obiekt Series:

Jak wywołać tą funkcję? Tak:

Istotne jest wskazanie argumentem axis, że funkcja ma być stosowana do każdego wiesza, bo domyślnie apply wywołuje funkcję dla kolumn. Oto wynik:

Ten wynik można zapisać do innego DataFrame, czy właściwie zrobić z nim, co tam się chce 🙂

Funkcja apply – stosuj w przypadkach niestandardowych

By Rafał Kraik in Data Science

Python – kiedy używać finally w try/except?

2019-12-21

Odpowiadając krótko – wtedy kiedy chcesz mieć pewność że jakieś instrukcje wykonają się NA PEWNO i ZAWSZE. Nawet w bardzo dziwnych i nietypowych sytuacjach.

Zazwyczaj np. uważamy, że kod w funkcji po słowie return się nie wykona:

i rzeczywiście tak jest:

Ale kiedy popatrzysz na taki zwariowany kod:

i wywołasz go tak:

To zobacz, że kod z bloku finally się wykonał, pomimo tego, że wykonywał się kod w try!

Tutaj finally wykonał sie mimo błedu w try

A tutaj mimo błedu w try i except.

Finally jest „nie do zabicia”… dlatego stosujemy go np. do zamknięcia plików, usunięcia roboczych danych itp.

 

By Rafał Kraik in Python

Python: Debugger w Jupyter Notebook – postać znakowa

2019-12-17

Programista bez debuggera, to jak mechanik bez klucza… to trzeba mieć!

Ostatnio bardzo popularnym narzędziem do tworzenia skryptów w Pythonie jest Jupyter Notebook. Niestety domyślnie menu nie ma polecenia debug… o ile w pojedynczych komórkach po prostu wykonujesz mało skomplikowane polecenia, to ewentualne dodanie polecenia print powinno pomóc i rozwiązać problem. Co jednak zrobić jeżeli masz nieco bardziej złożoną pętlę i coś w niej nie działa?

W charakterze kłopotliwego kodu wystąpi u nas taka pętla:

W sumie – nic skomplikowanego, ale zmienna sterująca i jest raz zwiększana, raz zmiejszana… idzie się pogubić, zwłaszcza po drinku.

W celu debuggowania w trybie „znakowym” wykonaj takie czynności:

  • załaduj moduł pdb:

  • a następnie w miejscu, gdzie chcesz aby zatrzymał się program dodaj linijkę:

Czyli nasza kłopotliwa pętelka może teraz wyglądać tak:

Po uruchomieniu w/w kodu, kiedy wykonanie dotrze do linijki

program zatrzyma się prezentując proste pole do wprowadzenia instrukcji:

jeśli wpiszesz „i” i naciśniesz enter, to debugger wyświetli w odpowiedzi aktualną wartość i. W okienku możesz też podawać bardziej skomplikowane wyrażenia, np sprawdzać ile wynosi i % 2 lub czy i %2 == True itp.

Kiedy chcesz aby zostało wykonane kolejne polecenie wystarczy nacisnąć n i enter. A kiedy masz już dosyć przetwarzania linijka po linijce naciśnij c i enter

Można też wpisać help, na co debugger odpowie listą dostępnych poleceń, lub wpisać help <nazwa_komendy> i wtedy zobaczysz opis polecenia:

Nasza sesja debuggowania mogłaby więc koniec końców wyglądać tak:

 

 

By Rafał Kraik in Python

Powershell: prawie grep

2019-11-30

Ciekawe, czy tylko ja jestem rozczarowany narzędziem do szukania plików w Windows….

Kiedy przeszukuję pliki tekstowe i chcę znaleźć pliki zawierające określony tekst, wystarczy w powershellu skorzystać z polecenia select-string:

Select-String -Path *.sql -Pattern „@ENV”

Krótkie, wygodne, a przede wszystkim SKUTECZNE – jak unixowy grep

By Rafał Kraik in Power Shell

Darmowy zbiór zadań do kursu MS Excel Tips & Tricks

2019-11-22

Jak się uczyć to najlepiej przez praktykę, dlatego właśnie w kursie MS Excel Tips and Tricks oprócz video mamy też mnóstwo zadań. Zadania zebrane w całość można pobrać i na własne potrzeby wykorzystywać ile się chce. Dostęp do materiałów video i potrzebnych plików ćwiczeniowych jest możliwy dopiero po zapisaniu się na kurs, ale już sam wgląd w zadania może pomóc się zorientować o czym opowiadamy na kursie.

Zbiór zadań do kursu „MS Excel Tips & Tricks”

MS Excel Tips and Tricks – zbiór zadań

A w tym podręczniku seria zadań na temat: codziennych czynności wykonywanych w Excel i Office, triki dotyczące bezpieczeństwa, formatowania danych, specyficznych typów danych, kontroli drukowania arkuszy, wskazówki dotyczące synchronizacji i porównywania arkuszy, korzystania z dodatków Excela, wstawiania i formatowania wykresów i wprowadzenie do makr.

Kurs

Tutaj dostępne są ćwiczenia. Jeżeli chcesz zobaczyć wykłady do tych lekcji oraz sprawdzić rozwiązania, zapraszam na kurs dostępny na platformie Udemy:

Kurs MS Excel Tips and Tricks

Kto może skorzystać z ćwiczeń?

  • na własną rękę i na własny użytek każdy
  • jeśli podręcznik ma być wykorzystany na kursie Excela, w ośrodkach szkoleniowych, w firmowych wewnętrznych akademiach, w szkołach, uczelniach, ma być w części lub w całości wykorzystany jako element innej publikacji, ma podlegać replikacji w jakiejkolwiek formie – prosimy o kontakt w celu ustalenia warunków licencji

Niech moc będzie z Tobą!

By Rafał Kraik in Helpdesk