Problem: Dane pochodzące z wielu plików, zostały zaimportowane do Pandas Data Frame w następującej postaci: Chcielibyśmy uniknąć wielokrotnie powtarzanej daty, wartości numeryczne znajdujące się w col1, col2 i col3 powinny się nasumować, dając taki efekt: Rozwiązanie: Wydaje się, że funkcjonalnością stworzoną do takiego celu jest grupowanie. Wystarczy na rzecz obiektu data frame wywołać metodę groupby […]
Archiwum dla kategorii ‘Python’
Python: Grupowanie po dacie z sumą – redukcja liczby wierszy
MAC: Python: Idle: Nie działają podpowiedzi (intelisense)
Zdarza się (często), że w Idle, który jest domyślnym i bodajże najprostszym edytorem skryptów Pythona, nie działają podpowiedzi. Czasami pomaga proste uruchomienie skryptu przed jego dalszym pisaniem (Idle uświadamia sobie wtedy z jakimi zmiennymi ma do czynienie i „zaskakuje”), ale czasami to nie pomaga. 1. Poszukaj w Finder pliku autocomplete_w.py . Jeżeli plików o takiej samej […]
Python: Kolorowy tekst w konsoli
Większość terminali, zarówno na Unix, jak i pod Windows obsługują „kody ucieczki” pozwalające na takie sformatowanie napisu wyświetlanego w konsoli poleceniem print, aby wyświetlany tekst otrzymał odpowiedni kolor. Szczegółowo ten mechanizm jest opisany tutaj: https://en.wikipedia.org/wiki/ANSI_escape_code#Colors Jeśli jednak chcesz ominąć czytanie długiej dokumentacji, bo po prostu chcesz wyświetlić coś na kolorowo, to powinno wystarczyć rozumienie poniższej […]
Python: args i kwargs
Python jest fajny, bo jest dynamiczny. Napiszesz sobie funkcję, a potem ni z tego ni z owego można ją wywoływać na wiele sposobów. Popatrz na ten przykład:
1 2 3 4 5 |
def show_args(arg_1, arg_2): print(arg_1) print(arg_2) show_args('one','two') |
Proste? No pewnie, że proste! Funkcja ma dwa argumenty i wywołujemy ją z dwoma argumentami i już! Ale może by tak, mając listę dwóch elementów przekazać ją […]
PANDAS: odwołanie do wiersza, czy do wartości?
W Pandas, seria danych to po prostu ciąg wartości. Wartość numer 2 to po prostu element prostego typu. Bardzo podobnie na pierwszy rzut oka wygląda jednokolumnowy DataFrame, ale… pewne różnice są:
1 2 |
numbers=[1, 2, 3, 4] letters=['A', 'B', 'C', 'D'] |
Tak powstaje seria danych – dla „zmyłki” indeksem jest kolumna numbers:
1 2 |
ds = pd.Series(data=letters, index=numbers) ds |
oto wynik:
1 2 3 4 5 6 |
Out[45]: 1 A 2 B 3 C 4 D dtype: object |
A tak wygląda to, jeśli utworzymy DataFrame, który […]
Visual Studio Code Editor – konfiguracja pod Python
Jeden z popularniejszych obecnie edytorów kodu to Visual Studio Code Editor. Jego popularność wynika pewnie z tego, że jest niewielki (to zaleta) i można doinstalować do niego rozszerzenia, które powiększają/dodają nowe możliwości tego narzędzia. Np. w VSC można wygodnie pisać kod Pyhona po zainstalowaniu dodatku Python. Co więcej, takich dodatków jest wiele, ale akurat ten […]
Python: unikalne kombinacje z dwóch list (sztuczka start
Załóżmy, że mamy listę portów lotniczych i zastanawiamy się, jakie można zbudować trasy między nimi:
1 2 3 4 5 6 |
ports = ['WAW', 'KRK', 'GDN', 'KTW', 'WMI', 'WRO', 'POZ', 'RZE', 'SZZ', 'LUZ', 'BZG', 'LCJ', 'SZY', 'IEG', 'RDO'] routes = [ (start, stop) for start in ports for stop in ports] print(routes) print(len(routes)) |
W routes zostanie wygenerowanych 255 tras, ale niestety znajdą się w niej zbędne wartości. Będzie trasa WAW-WAW, ale znajdą się też duplikaty WAW-KRK oraz KRK-WAW. Jak je wykluczyć? Zmieniając wyrażenie generujące wartości dostaniemy już tylko 210 wyników, ale wyeliminowaliśmy […]