Ściągawka Pandas do nauki o danych w Python
⚡ Inteligentne podsumowanie
Ściągawki Pandasa skupiają najczęściej używane polecenia biblioteki na jednej stronie. Ten podręcznik grupuje je według zadań: instalacja, budowanie serii i ramek danych, importowanie plików, zaznaczanie wierszy, czyszczenie danych, stosowanie funkcji i eksportowanie wyników.
Czym jest ściągawka Pandas?
Biblioteka Pandas zawiera setki funkcji, jednak w codziennej pracy pojawia się tylko ich niewielki podzbiór. ściągawka do Pand jest jednostronicowym spisem poleceń pogrupowanych według zadań, które wykonują.
Obejmuje struktury serii i ramek danych, importowanie i eksportowanie plików, wybieranie i porządkowanie danych, czyszczenie wartości oraz stosowanie funkcji. Każda sekcja poniżej zawiera krótkie wyjaśnienie z kodem, który można uruchomić, więc strona służy również jako przypomnienie. umiejętności analizy danych.
👉 Pobierz tutaj plik PDF z ściągawką
Jak zainstalować i zaimportować Pandas
Dwa polecenia konfigurują Pandas i oba uruchamiają się w terminalu lub Jupyter Notatnik komórek.
Krok 1) Zainstaluj Pandas
Uruchom tę komendę raz w każdym środowisku, poprzedzając ją wykrzyknikiem w komórce notatnika.
pip install pandas
Krok 2) Importowanie Pandas
Zaimportuj pakiet pod aliasem pd, co zakłada każdy przykład tutaj.
import pandas as pd
Możesz teraz wywoływać funkcje Pandas do manipulowania, analizowania i czyszczenia danych. Poniższe sekcje zawierają listę funkcji w kolejności, w jakiej zazwyczaj po nie sięgasz.
Struktury danych pand
Pandas ma dwie struktury danych, Seria oraz Ramka danychObie tablice są tablicami z etykietami i obie mogą przechowywać dowolny typ danych. Jedyną różnicą jest wymiarowość: seria to tablica jednowymiarowa, a ramka danych to tablica dwuwymiarowa zbudowana z numpy tablice poniżej.
| Cecha | Seria | Ramka danych |
|---|---|---|
| Wymiary | Jednowymiarowy | Dwuwymiarowy |
| Mieści | Pojedyncza oznaczona kolumna | Wiele kolumn, mieszane typy danych |
| Konstruktor | pd.Seria() | pd.DataFrame() |
1. Seria
Jest to jednowymiarowa tablica z etykietami. Może przechowywać dowolny typ danych i None staje się wartością brakującą.
s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])
2. Ramka danych
Jest to dwuwymiarowa tablica z etykietami. Może przechowywać dowolny typ danych i kolumny o różnych rozmiarach.
data = {'RollNo' : [101, 102, 75, 99],
'Name' : ['Mithlesh', 'Ram', 'Rudra', 'Mithlesh'],
'Course' : ['Nodejs', None, 'Nodejs', 'JavaScript']
}
df = pd.DataFrame(data, columns=['RollNo', 'Name', 'Course'])
df.head()
Poniższa ściągawka do wydrukowania zawiera te same polecenia na jednej stronie.
Importowanie danych
Pandas potrafi odczytać wiele typów plików bezpośrednio do DataFrame. Każdy czytnik poniżej zwraca jeden, a read_csv () jest najczęściej używany.
# Import a CSV file pd pd.read_csv(filename) # Import a TSV file pd.read_table(filename) # Import a Excel file pd pd.read_excel(filename) # Import a SQL table/database pd.read_sql(query, connection_object) # Import a JSON file pd.read_json(json_string) # Import a HTML file pd.read_html(url) # From clipboard to read_table() pd.read_clipboard() # From dict pd.DataFrame(dict)
Wybór
Możesz wybierać elementy według ich lokalizacji lub etykiety indeksu. Ta sama składnia z nawiasami kwadratowymi wybiera wiersze, kolumny i wycinki z obu struktur.
1. Seria
# Accessing one element from Series s['D'] # Accessing all elements between two given indices s['A':'C'] # Accessing all elements from starting till given index s[:'C'] # Accessing all elements from given index till end s['B':]
2. Ramka danych
# Accessing one column df df['Name'] # Accessing rows from after given row df[1:] # Accessing till before given row df[:1] # Accessing rows between two given rows df[1:2]
Wybieranie poprzez indeksowanie i ustawianie logiczne
Zastosowanie iloc oraz iat dla pozycji całkowitych i loc oraz at dla etykiet.
1. Według pozycji
df.iloc[0, 1] df.iat[0, 1]
2. Według etykiety
df.loc[[0], ['Name']]
3. Według etykiety/pozycji
df.loc[2] # Both are same
df.iloc[2]
4. Indeksowanie logiczne
Maska logiczna zachowuje tylko wiersze, dla których warunek jest spełniony. Drugi przykład dodaje operator NOT. ~, więc zwraca również wartości, które nie są większe niż 1.
# Series s where value is > 1 s[(s > 0)] # Series s where value is <-2 or >1 s[(s < -2) | ~(s > 1)] # Use filter to adjust DataFrame df[df['RollNo']>100] # Set index a of Series s to 6 s['D'] = 10 s.head()
Czyszczenie danych
Dla litu szacuje się Python W celu oczyszczenia danych możesz wykonać następujące operacje:
- Zmień nazwy kolumn za pomocą
rename()Metoda. - Zaktualizuj wartości za pomocą
at[]oriat[]metoda dostępu i modyfikacji określonych elementów. - Utwórz kopię serii lub ramki danych za pomocą
copy()Metoda. - Sprawdź wartości NULL za pomocą
isnull()metodę i usuń je za pomocądropna()Metoda. - Sprawdź duplikaty wartości za pomocą
duplicated()metoda. Usuń je za pomocądrop_duplicates()Metoda. - Zastąp wartości NULL za pomocą
fillna()metoda z określoną wartością. - Zastąp wartości za pomocą
replace()Metoda. - Sortuj wartości za pomocą
sort_values()Metoda. - Uporządkuj wartości, używając
rank()Metoda.
# Renaming columns df.columns = ['a','b','c'] df.head() # Mass renaming of columns df = df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}) # Or use this edit in same DataFrame instead of in copy df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}, inplace=True) df.head() # Counting duplicates in a column df.duplicated(subset='Name') # Removing entire row that has duplicate in given column df.drop_duplicates(subset=['Name']) # You can choose which one keep - by default is first df.drop_duplicates(subset=['Name'], keep='last') # Checks for Null Values s.isnull() # Checks for non-Null Values - reverse of isnull() s.notnull() # Checks for Null Values df df.isnull() # Checks for non-Null Values - reverse of isnull() df.notnull() # Drops all rows that contain null values df.dropna() # Drops all columns that contain null values df.dropna(axis=1) # Replaces all null values with 'Guru99' df.fillna('Guru99') # Replaces all null values with the mean s.fillna(s.mean()) # Converts the datatype of the Series to float s.astype(float) # Replaces all values equal to 6 with 'Six' s.replace(6,'Six') # Replaces all 2 with 'Two' and 6 with 'Six' s.replace([2,6],['Two','Six']) # Drop from rows (axis=0) s.drop(['B', 'D']) # Drop from columns(axis=1) df.drop('Name', axis=1) # Sort by labels with axis df.sort_index() # Sort by values with axis df.sort_values(by='RollNo') # Ranking entries df.rank() # s1 is pointing to same Series as s s1 = s # s_copy of s, but not pointing same Series s_copy = s.copy() # df1 is pointing to same DataFrame as df df1 = s # df_copy of df, but not pointing same DataFrame df_copy = df.copy()
Należy pamiętać, że s1 = s tworzy tylko drugą nazwę dla tego samego obiektu, nigdy kopię — dlatego copy() następuje po nim.
Odzyskiwanie informacji
Aby pobrać informacje, możesz wykonać następujące operacje:
- Użyj
shapeatrybut umożliwiający uzyskanie liczby wierszy i kolumn. - Użyj
head()ortail()metoda uzyskania pierwszych lub ostatnich kilku wierszy jako próbki. - Użyj
info(),describe()ordtypesmetoda uzyskiwania informacji o typie danych, liczbie, średniej, odchyleniu standardowym, wartościach minimalnych i maksymalnych. - Użyj
count(),min(),max(),sum(),mean()orazmedian()metody uzyskiwania szczegółowych informacji statystycznych dla wartości. - Użyj
loc[]metoda uzyskania wiersza. - Użyj
groupby()metoda zastosowania funkcji GROUP BY w celu grupowania podobnych wartości w kolumnie DataFrame.
1. Podstawowe informacje
# Counting all elements in Series len(s) # Counting all elements in DataFrame len(df) # Prints number of rows and columns in dataframe df.shape # Prints first 10 rows by default, if no value set df.head(10) # Prints last 10 rows by default, if no value set df.tail(10) # For counting non-Null values column-wise df.count() # For range of index df df.index # For name of attributes/columns df.columns # Index, Data Type and Memory information df.info() # Datatypes of each column df.dtypes # Summary statistics for numerical columns df.describe()
2. Streszczenie
# For adding all values column-wise df.sum() # For min column-wise df.min() # For max column-wise df.max() # For mean value in number column df.mean() # For median value in number column df.median() # Count non-Null values s.count() # Count non-Null values df.count() # Return Series of given column df['Name'].tolist() # Name of columns df.columns.tolist() # Creating subset df[['Name', 'Course']] # Return number of values in each group df.groupby('Name').count()
Stosowanie funkcji
apply() Przesuwa funkcję przez każdą wartość. Reguły wyrównania decydują następnie, co się stanie, gdy dwa obiekty będą miały wspólny tylko fragment indeksu.
# Define function f = lambda x: x*5 # Apply this function on given Series - For each value s.apply(f) # Apply this function on given DataFrame - For each value df.apply(f)
1. Wewnętrzne wyrównanie danych
# NA values for indices that don't overlap s2 = pd.Series([8, -1, 4], index=['A', 'C', 'D']) s + s2
2. Arytmetyka Operaz metodami wypełniania
# Fill values that don't overlap
s.add(s2, fill_value=0)
3. Filtruj, sortuj i grupuj według
Funkcje te można wykorzystać do filtrowania, sortowania i grupowaniaping Obiekty serii i DataFrame.
# Filter rows where column is greater than 100 df[df['RollNo']>100] # Filter rows where 70 < column < 101 df[(df['RollNo'] > 70) & (df['RollNo'] < 101)] # Sorts values in ascending order s.sort_values() # Sorts values in descending order s.sort_values(ascending=False) # Sorts values by RollNo in ascending order df.sort_values('RollNo') # Sorts values by RollNo in descending order df.sort_values('RollNo', ascending=False)
Eksportowanie danych
Każdy z autorów poniżej odzwierciedla czytelnika z sekcji importującej, dzięki czemu plik może podróżować w obie strony bez dodatkowych narzędzi.
# Export as a CSV file df df.to_csv(filename) # Export as a Excel file df df.to_excel(filename) # Export as a SQL table df df.to_sql(table_name, connection_object) # Export as a JSON file df.to_json(filename) # Export as a HTML table df.to_html(filename) # Write to the clipboard df.to_clipboard()
Colab ściągawki
Każde polecenie tutaj można uruchomić w towarzyszącym notatniku: Ściągawka Pandy – Python dla Data Science.ipynb.

