First steps with Excel & Python [PL] PART2

Mam dla Ciebie bardzo smutną wiadomość…

Liczba Zosiek w Twoim pliku równa się zero. Dlaczego? Dlatego, że Zośka to prawdziwa polska kobieta i nijak mają się do tego światowe generatory danych, które nie uwzględniły Pani Zosi w losowym wybieraniu 1.000 imion. Uwierz mi, sprawdziłem to:

I właśnie dziś o tym pogadamy, jak w bardzo prosty sposób sprawdzić różne wartości we wgranych przez nas zasobach danych. Cała sprawa wydaje się banalnie prosta.

Jeśli temat Zosiek i danych jest Ci obcy, zapraszam Cię do części pierwszej kompletnych podstaw w tworzeniu narzędzi optymalizujących Twoją nudną excelową pracę tutaj: https://skillbrix.com/first-steps-with-excel-python-pl-part1/

Co pokażę Ci dziś? Choć raczej powinienem zapytać, czego nauczyłem się ostatnio?

Po pierwsze uznałem, że warto nauczyć się dwóch rzeczy:

  1. zmiana nazwy kolumn naszego pliku, na bardziej polskie lub jakie dosłownie chcesz,
  2. wrzucenie do zmiennej lokalizacji naszego pliku. Teraz wystarczy tylko, że w załączonym kodzie zmienisz lokalizację, w której zapisałeś swój plik i od razu będziesz mógł cieszyć się działającym kodem.

Po drugie uznałem, że nie warto korzystać z małych zbiorów danych. Przede wszystkim nie ma tam naszej Pani Zosi, po drugie niestety 1.000 wierszy nie daje nam wystarczająco dużej próby aby np. przeanalizować różne Krystyny czy inne Helenki pod różnym kątem. Zatem proponuje abyś pobrał sobie ten plik:

lub alternatywnie możesz oczywiście skorzystać z generatora danych. Tym razem nie polecam Mockaroo, gdyż generowanie pliku powyżej 1.000 wierszy jest odpłatne. Tu natomiast OnlineDataGenerator natomiast możesz 10.000 wierszy pobrać za darmo.

The choice is your’s!

Biorąc na wzgląd powyższe:

  1. teraz, aby wgrać dane musisz użyć poniższego kodu:

import pandas as pd
import numpy as np
import os

lokalizacja = ‘C://Users/micha/Dropbox/skillbrix/First_steps_in_Excel/MOCK_DATA_1.csv’

kolumny = [‘ID’, ‘imie’, ‘nazwisko’, ’email’, ‘plec’, ‘IP’]
dane = pd.read_csv(lokalizacja, delimiter=’;’, encoding=’utf-8′, names = kolumny)

w tym miejscu możesz:

  • zmienić sobie nazwy kolumn na np. ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’ lub jakiekolwiek chcesz,
  • zmienić lokalizację na taką, w której masz wgrany plik oraz swój Jupyter Notebook.

2. aby wgrać fajne dane (przynajmniej 20.000 wierszy) musisz mieć gotowy plik z danymi, o którym mówiłem wcześniej.

W jaki sposób zatem pobawić się naszym zbiorem danych?

  1. Sprawdzanie wszystkich wierszy pod kątem konkretnego imienia.

Owianą złą sławą Panią Zosię zostawię już w spokoju. Poszukajmy zatem Panią ‘Rhea’. Jak prawdziwy komendant przejdziemy kolejno, spojrzymy każdej z osób prosto w oczy i zadamy pytanie: “Czy Ty przypadkiem nie nazywasz się Rhea”, a zrobimy to za pomocą poniższego kodu:

dane.imie == ‘Rhea’

po tym zabiegu powinieneś widzieć mniej więcej takie coś:

2. Wyświetlanie konkretnego imienia.

Aby poprawnie wylistować wszystkie ‘Rhea’ (mój Boże, nawet nie wiem jak to odmienić po polsku) w naszym zbiorze danych musimy użyć poniższej komendy:

dane[dane.imie == ‘Rhea’]

po wpisaniu tej komendy zobaczysz wszystkie Rhee (no dobra, przynajmniej próbowałem) tak jak poniżej:

tylko pamiętaj – to są fejkowe dane, nie wysyłaj tam broń Boże żadnych maili!

3. Zliczanie konkretnego imienia.

Dzięki poniższej linijce kodu nie będziesz musiał dodawać w pamięci liczby Rhei:

dane[dane.imie == “Rhea”].count()[‘imie’]

A teraz – co by było, gdybyśmy nie chcieli wyświetlać jednak wszystkich kolumn naszego pliku? Chcielibyśmy tylko i wyłącznie zobaczyć imię oraz kolumnę z adresem email (wiem, że wyślesz lub wysłałeś maila do Rhei).

4. Wyświetlanie konkretnego imienia oraz kolumny z adresem email.

dane[dane.imie == ‘Rhea’][[‘imie’, ’email’]]

To już koniec… no prawie

Prawdziwa przygoda się dopiero zaczyna. Na potrzeby bloga chciałem również zamieszczać tu pliki Jupyter Notebook, ale WP powiedział, że nie są ładne i nie spełniają podstawowych opcji bezpieczeństwa. Muszę zatem nauczyć się teraz, jak zamieszczać pliki, tak aby zainteresowani mogli sobie je pobrać. Może macie jakieś sugestie?

W kolejnym poście pojedziemy grubo:

  1. sprawdzimy czy da się znaleźć jednocześnie Kryśkę i Zośkę,
  2. sprawdzimy jak pokazać wszystkie osoby posiadające adres email w domenie @skillbrix.com,
  3. sprawdzimy jak dodawać i usuwać kolumny w naszym zbiorze danych,
  4. oraz chyba najważniejsze dla Excelowego wyjadacza- jak skończyć korzystać z funkcji =WYSZUKAJ.PIONOWO, która podbiła świat swoją prostotą i elegancją (tak, 90% mojej pracy w raportowaniu opiera się na stu różnych kombinacjach, w których występuję ta funkcja i mam jej po prostu dość!).

Udanego piątku!

Leave a Reply

Your email address will not be published. Required fields are marked *