Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr
W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.
Pandas to powszechnie używana biblioteka Pythona do manipulacji i analizy danych. Jedną z podstawowych funkcji, które mogą zapewnić pandy, jest możliwość modyfikowania struktury zbioru danych. W szczególności upuszczanie indeksów w DataFrame jest kluczową operacją podczas pracy z zestawami danych. Pozwala usunąć niechciane wiersze lub kolumny z danych.
Aby usunąć indeks za pomocą pand, możesz użyć metod .drop() i .reset_index(). Metoda .drop() umożliwia usuwanie określonych wierszy lub kolumn. Z drugiej strony metoda .reset_index() umożliwia usunięcie indeksu i zresetowanie go do domyślnego RangeIndex.
W tym artykule omówimy użycie tych metod do upuszczania indeksów w pandas DataFrames. Przeanalizujemy różne przykłady, aby zademonstrować, jak skutecznie manipulować strukturą zestawu danych, aby dopasować ją do różnych potrzeb analitycznych. Dzięki tym przykładom lepiej zrozumiesz, w jaki sposób można wykorzystać bibliotekę pandas do manipulowania danymi.
Wejdźmy w to!
Spis treści
Zrozumienie indeksu upuszczania pand
Zanim zagłębimy się w upuszczanie indeksu za pomocą pand, bardzo ważne jest zrozumienie, czym jest pandas DataFrame. Ponadto powinieneś być zaznajomiony z koncepcją indeksów i kolumn w pandas DataFrame.
W tej sekcji omówimy podstawy pandas DataFrame, indeksu i kolumn. Następnie przyjrzymy się przykładowi usunięcia indeksu za pomocą pand.
1. Co to jest ramka danych Pandas?
Pandas to biblioteka języka Python typu open source, która zapewnia wydajne narzędzia do manipulacji i analizy danych. Jedną z jego kluczowych struktur danych jest DataFrame .
Pandas DataFrame to dwuwymiarowa struktura danych z oznakowanymi osiami (wiersze i kolumny). Możesz myśleć o DataFrame jako reprezentacji obiektu Pythona tabeli SQL lub arkusza kalkulacyjnego Excel.
Poniżej przedstawiono typową ramkę DataFrame pandy:
2. Czym są indeksy i kolumny?
W pandas DataFrame indeks służy jako „adres” dla punktów danych. Zapewnia środki do uzyskiwania dostępu i organizowania danych w ramce DataFrame. Może to być domyślna sekwencja liczb całkowitych przypisana przez pandy lub zdefiniowany przez użytkownika indeks niestandardowy.
Kolumny to zmienne obsługujące różne typy danych w DataFrame. Każda kolumna to zasadniczo seria danych. Może przechowywać różne typy danych, takie jak liczby całkowite, zmiennoprzecinkowe lub łańcuchy. Etykieta kolumny, powszechnie nazywana nazwą kolumny, identyfikuje tę serię danych.
W pandas DataFrame manipulacja danymi często obejmuje pracę z etykietami wierszy (indeksów) lub etykietami kolumn.
Niektóre typowe operacje, które można wykonać z wieloindeksową ramką DataFrame, obejmują wybieranie, zmianę nazwy i usuwanie wierszy lub kolumn na podstawie ich etykiet.
3. Jak upuścić kolumnę indeksu za pomocą Pand
W pandach możesz użyć metody DataFrame reset_index() do usunięcia i zresetowania indeksu.
Załóżmy, że mamy następującą ramkę DataFrame:
Aby usunąć kolumnę indeksu, możemy użyć następującego kodu:
df.reset_index(drop=True)
Po uruchomieniu tego kodu otrzymasz poniższy przykład:
W danych wyjściowych widać, że indeks został usunięty i zastąpiony oryginalnymi wartościami indeksu.
Możesz także użyć metody drop w pandas, aby usunąć określone etykiety z wierszy lub kolumn.
Składnia tej metody to:
DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
Poniżej przedstawiono kluczowe parametry metody upuszczania :
etykiety : etykiety do usunięcia. Mogą to być wiersze lub kolumny w zależności od parametru osi .
oś : Określa, czy usuwać z wierszy ( 0 lub 'index' ) czy kolumn ( 1 lub 'columns' ).
index : Alternatywa dla określenia axis=0 . Umożliwia wskazanie etykiet wierszy do usunięcia.
columns : Alternatywa dla określenia axis=1 . Umożliwia wskazanie etykiet kolumn do usunięcia.
inplace : Jeśli jest ustawiona na True , operacja zostanie wykonana w miejscu, co oznacza, że oryginalna ramka danych zostanie zmodyfikowana. Jeśli False (wartość domyślna), zostanie zwrócona nowa ramka DataFrame z usuniętymi określonymi etykietami.
błędy : kontroluje sposób obsługi brakujących etykiet. Jeśli „podnieś” (domyślnie), zostanie zgłoszony błąd, gdy etykiety nie zostaną znalezione. W przypadku „wymuszenia” brakujące etykiety zostaną po cichu zignorowane.
Załóżmy, że mamy następującą ramkę DataFrame:
Chcielibyśmy usunąć wiersz o indeksie 1. Aby to zrobić metodą drop, możesz napisać następujący kod, zaczynając od import pandas:
import pandas as pd
# Drop row with index 1
df.drop(1, axis=0)
Argument oś =0 funkcji drop mówi interpreterowi, że wykonujemy operację na wierszach. Drugi argument 1 to indeks wiersza. Mówi tłumaczowi, aby upuścił wiersz o indeksie 1.
Po wykonaniu powyższej operacji otrzymujemy następującą ramkę DataFrame:
Teraz powiedzmy, że chcielibyśmy usunąć kolumnę z wiekiem jako nagłówkiem kolumny z naszej DataFrame. Aby to osiągnąć, możemy napisać następujący kod:
# Drop column 'Age'
df.drop('Age', axis=1)
Argument oś=1 mówi interpreterowi, że wykonujemy operację na kolumnach. Argument „Wiek” nakazuje interpreterowi usunięcie kolumny o nazwie „Wiek”.
Po uruchomieniu powyższego kodu otrzymasz następującą ramkę DataFrame:
Jak usunąć wiele wierszy i kolumn
Powyższy przykład demonstruje usunięcie pojedynczego wiersza lub kolumny. Co zrobić, jeśli chcesz usunąć wiele wierszy lub kolumn?
Aby to osiągnąć, użyjemy tego samego kodu z niewielkimi zmianami. Zamiast używać pojedynczej wartości, możemy podać listę argumentów funkcji upuszczania, aby usunąć jednocześnie wiele wierszy i kolumn.
Powiedzmy, że chcę upuścić pierwsze 2 wiersze w naszej ramce DataFrame. Aby to osiągnąć, możemy użyć następującego kodu:
# Dropping first 2 rows by index
df = df.drop([0, 1], axis=0)
W tym kodzie mówimy interpreterowi, aby usunął wiersze 0 i 1. Dane wyjściowe tego kodu podano poniżej:
Możesz zobaczyć, że wiersze 0 i 1 nie znajdują się już w DataFrame.
Pomińmy także kolumny Dział i Wynagrodzenie. W tym celu możemy użyć następującego kodu:
# Dropping columns by name
df = df.drop(['Salary', 'Department'], axis=1)
W tym skrypcie Pythona prosimy tłumacza o usunięcie kolumn z Salary i Department jako nagłówkami kolumn. Dane wyjściowe tego kodu podano poniżej:
To jest nasza ostateczna DataFrame. W sumie usunęliśmy dwa wiersze i dwie kolumny z naszej DataFrame metodą drop.
Aby dowiedzieć się więcej o MultiIndex w pandach, obejrzyj poniższy film:
Jak upuścić wiersze i kolumny za pomocą Inplace
W poprzednim przykładzie widać, że najpierw wprowadzamy zmiany w DataFrame, a następnie zapisujemy ją jako nową DataFrame. Nie jest to jednak efektywny sposób usuwania wierszy i kolumn.
Inną alternatywą dla usuwania wierszy i kolumn jest ustawienie argumentu inplace funkcji drop na True .
Ustawiając parametr inplace na True , możesz trwale zmodyfikować DataFrame bez konieczności ponownego jej przypisania.
Jest to przydatne w przypadku dużych ramek danych, ponieważ pozwala zaoszczędzić pamięć, unikając tworzenia nowej ramki danych.
Poniżej znajduje się przykład usuwania wierszy i kolumn za pomocą inplace :
# Dropping rows by index inplace
df.drop(labels=[0, 1], axis=0, inplace=True)
# Dropping columns by name inplace
df.drop(['Salary', 'Department'], axis=1, inplace=True)
Wyjście powyższego kodu podano poniżej:
Tutaj możesz zobaczyć, że nie tworzymy żadnej nowej DataFrame, ale wprowadzamy zmiany w oryginalnej.
Jak pracować z indeksami w pandach
W tej sekcji omówimy sposób pracy z indeksami w pandas DataFrame. Omówimy następujące dwie podsekcje:
Ustaw i zresetuj indeks
Kolumna identyfikatora i indeksu
1. Jak ustawić i zresetować indeks
Jednym z ważnych aspektów pracy z pandami jest zrozumienie, jak ustawiać i resetować kolumny indeksu. Indeks jest identyfikatorem klucza dla każdego wiersza i są przypadki, w których warto go zmienić.
Ustawianie nowego indeksu
Aby ustawić nowy indeks, możesz użyć metody set_index() . Składnia set_index jest podana poniżej:
df.set_index('column_name', inplace=True)
Argument inplace=True oznacza, że wprowadzamy zmiany w istniejącej ramce DataFrame.
Aby to zademonstrować, użyjemy następującej ramki danych:
Powiedzmy, że chcielibyśmy, aby kolumna Nazwa była indeksem naszej ramki danych. Aby to osiągnąć, możemy użyć następującego kodu:
df.set_index('Name', inplace=True)
Ten skrypt Pythona uczyni Name indeksem naszej DataFrame. Dane wyjściowe tego kodu podano poniżej:
Resetowanie wartości indeksu
Aby zresetować indeks do formatu domyślnego (tj. RangeIndex od 0 do długości DataFrame minus 1), możesz użyć metody reset_index() .
Składnia reset_index() jest podana poniżej:
df.reset_index(drop=True, inplace=True)
Ustawiając drop=True , bieżąca kolumna indeksu zostanie usunięta, podczas gdy inplace=True gwarantuje, że zmiany zostaną zastosowane bezpośrednio do DataFrame bez tworzenia nowej.
Gdy zastosujemy ten kod do poprzedniej ramki DataFrame, otrzymamy następujące dane wyjściowe:
Możesz zobaczyć, że Nazwa, która była wcześniej naszym indeksem, jest resetowana do wartości domyślnych.
2. Dalsze operacje na kolumnie indeksu
Podczas importowania ramki danych z, powiedzmy, pliku CSV, możesz użyć parametru index_col , aby określić kolumnę, która ma być używana jako indeks.
Składnia index_col jest podana poniżej:
df = pd.read_csv('data.csv', index_col='column_name')
Ponadto, jeśli chcesz wyeksportować ramkę DataFrame bez kolumny indeksu, możesz ustawić parametr index na wartość False.
Składnia tej metody jest podana poniżej:
df.to_csv('output.csv', index=False)
Teraz, gdy rozumiesz metodę usuwania indeksu, przyjrzyjmy się, jak możesz obsłużyć błędy podczas korzystania z funkcji upuszczania w następnej sekcji.
Jak radzić sobie z błędami podczas korzystania z funkcji upuszczania w pandach
W tej sekcji zbadamy, jak obsługiwać błędy i przypadki specjalne podczas używania funkcji upuszczania pandas do usuwania kolumn indeksu z DataFrame.
W szczególności omówimy następujące kwestie:
Obsługa błędu klucza
Praca ze zduplikowanymi wierszami
1. Jak obsłużyć błąd klucza
Podczas korzystania z funkcji drop w pandach możesz napotkać błąd KeyError, jeśli określony indeks lub kolumna nie zostanie znaleziona w DataFrame.
Aby zapobiec występowaniu tego błędu, możesz użyć parametru błędów . Parametr błędów ma dwie opcje: „podbij” i „zignoruj”. Domyślnie jest ustawiony na 'raise', co oznacza, że zostanie zgłoszony błąd KeyError, jeśli określony indeks lub kolumna nie zostanie znaleziona.
Możesz jednak ustawić opcję „ignoruj”, jeśli chcesz pominąć błąd i kontynuować wykonywanie kodu.
Załóżmy, że mamy następującą ramkę DataFrame Spróbujmy usunąć wiersz, który nie istnieje w ramce DataFrame i zobaczmy, co się stanie:
# Attempt to drop a non-existent index, will raise KeyError
# df.drop(5, inplace=True)
Skrypt Pythona wyświetli następujący błąd:
Aby obsłużyć takie błędy, upewnij się, że odwołujesz się do wierszy obecnych w zbiorze danych.
2. Jak pracować ze zduplikowanymi wierszami
Podczas czyszczenia danych ważnym zadaniem jest szukanie duplikatów i usuwanie ich.
Radzenie sobie ze zduplikowanymi wierszami w DataFrame może zwiększyć złożoność podczas korzystania z funkcji upuszczania .
Jeśli chcesz usunąć wiersze na podstawie zduplikowanych wartości indeksu, możesz użyć funkcji zduplikowanej , a następnie użyć indeksowania boolowskiego, aby wybrać tylko niezduplikowane wiersze.
Załóżmy, że mamy następującą ramkę DataFrame:
Możesz zobaczyć, że mamy zduplikowane indeksy w naszym zbiorze danych. Aby usunąć duplikaty, najpierw zidentyfikujemy zduplikowane wartości za pomocą następującego kodu:
# Find duplicated index values
duplicated_rows = df.index.duplicated(keep='first')
Następnie wybierzemy tylko niezduplikowane wiersze i zapiszemy je w poprzedniej ramce DataFrame z następującym kodem:
# Select only non-duplicated rows
df = df[~duplicated_rows]
Ostateczny wynik podano poniżej:
Końcowe dane wyjściowe nie zawierają już zduplikowanych wierszy.
Końcowe przemyślenia
Kontynuując swoją przygodę z nauką o danych i analizą, zrozumienie, jak manipulować danymi i zarządzać nimi, jest umiejętnością, która okaże się najważniejsza.
Kluczową częścią tego jest opanowanie operacji, takich jak upuszczanie indeksów w pandach. Wiedza o tym, jak zresetować lub usunąć indeks, to krok w kierunku czyszczenia, przekształcania i uzyskiwania cennych spostrzeżeń z danych.
Ucząc się, jak usuwać indeksy, będziesz w stanie skuteczniej przekształcać swoje ramki danych. Będziesz także mógł tworzyć czystsze zestawy danych, które są łatwiejsze do odczytania i analizy. Ponadto resetowanie indeksów może mieć kluczowe znaczenie podczas scalania lub łączenia wielu ramek danych, w przypadku których mogą wystąpić konflikty indeksów.
Możliwość usuwania indeksów zapewnia większą kontrolę i elastyczność nad zestawami danych!
W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.
Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.
Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.
Czym jest self w Pythonie: przykłady z życia wzięte
Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.
Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.
W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.
W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.
Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.
Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.