Panda's Cheatsheet voor datawetenschap in Python
⚡ Slimme samenvatting
Pandas-spiekbriefjes bundelen de meest gebruikte commando's van de bibliotheek op één pagina. Deze handleiding groepeert ze per taak: installeren, Series en DataFrames bouwen, bestanden importeren, rijen selecteren, gegevens opschonen, functies toepassen en resultaten exporteren.
Wat is een Pandas-spiekbriefje?
De Pandas-bibliotheek bevat honderden functies, maar slechts een klein deel daarvan wordt in de dagelijkse praktijk gebruikt. Pandas spiekbriefje Dit is een naslagwerk van één pagina met een lijst van die commando's, gegroepeerd per taak die ze uitvoeren.
Het behandelt de Series- en DataFrame-structuren, het importeren en exporteren van bestanden, het selecteren en sorteren van gegevens, het opschonen van waarden en het toepassen van functies. Elk onderdeel hieronder combineert een korte uitleg met uitvoerbare code, zodat de pagina ook als opfrisser voor uw kennis kan dienen. vaardigheden op het gebied van data-analyse.
👉 Download hier de pdf van Cheat Sheet
Hoe installeer en importeer je Pandas?
Twee commando's worden gebruikt om Pandas te configureren, en beide worden uitgevoerd in een terminal of een Jupyter Notitieboek cel.
Stap 1) Installeer Pandas
Voer dit eenmaal per omgeving uit; plaats er een uitroepteken voor in een notitieblokcel.
pip install pandas
Stap 2) Pandas importeren
Importeer het pakket onder de alias pd, wat in elk voorbeeld hier wordt verondersteld.
import pandas as pd
Je kunt nu Pandas-functies aanroepen om gegevens te manipuleren, analyseren en opschonen. De onderstaande secties geven een overzicht van deze functies in de volgorde waarin je ze normaal gesproken gebruikt.
Gegevensstructuren van Panda's
Pandas heeft twee datastructuren, -Series en dataframeBeide zijn gelabelde arrays en beide kunnen elk gegevenstype bevatten. Het enige verschil is de dimensionaliteit: een Series is een eendimensionale array en een DataFrame is een tweedimensionale array die is opgebouwd uit ... NumPy arrays eronder.
| Kenmerk | -Series | dataframe |
|---|---|---|
| Afmetingen | Eendimensionaal | Tweedimensionaal |
| houdt | Een enkele gelabelde kolom | Veel kolommen, gemengde gegevenstypen |
| Constructeur | pd.Series() | pd.DataFrame() |
1. Serie
Het is een eendimensionale gelabelde array. Het kan elk gegevenstype bevatten, en None wordt een ontbrekende waarde.
s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])
2. DataFrame
Het is een tweedimensionale gelabelde array. Het kan elk gegevenstype en kolommen van verschillende groottes bevatten.
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()
Het onderstaande afdrukbare spiekbriefje verzamelt dezelfde commando's op één pagina.
Gegevens importeren
Pandas kan veel bestandstypen rechtstreeks in een DataFrame lezen. Elke onderstaande reader retourneert er één, en read_csv () wordt het meest gebruikt.
# 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)
Selectie
Je kunt elementen selecteren op basis van hun locatie of op basis van hun indexlabel. Dezelfde syntax met vierkante haken selecteert rijen, kolommen en segmenten uit beide structuren.
1. Serie
# 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. DataFrame
# 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]
Selecteren via Booleaanse indexering en instelling
Gebruik iloc en iat voor gehele posities, en loc en at voor etiketten.
1. Op positie
df.iloc[0, 1] df.iat[0, 1]
2. Op etiket
df.loc[[0], ['Name']]
3. Op label/positie
df.loc[2] # Both are same
df.iloc[2]
4. Booleaanse indexering
Een booleaanse mask behoudt alleen rijen waar de voorwaarde waar is. Het tweede voorbeeld voegt de NOT-operator toe. ~Het retourneert dus ook waarden die niet groter zijn dan 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()
Gegevens opschonen
Bij Python Voor doeleinden van data-cleaning cheat sheet kunt u de volgende bewerkingen uitvoeren:
- Kolommen hernoemen met behulp van de
rename()methode. - Waarden bijwerken met behulp van de
at[]oriat[]methode om specifieke elementen te benaderen en te wijzigen. - Maak een kopie van een Series of DataFrame met behulp van de
copy()methode. - Controleer op NULL-waarden met behulp van de
isnull()methode, en ze verwijderen met behulp van dedropna()methode. - Controleer op dubbele waarden met behulp van de
duplicated()methode. Laat ze vallen met behulp van dedrop_duplicates()methode. - Vervang NULL-waarden met behulp van de
fillna()methode met een opgegeven waarde. - Vervang waarden met behulp van de
replace()methode. - Sorteer waarden met behulp van de
sort_values()methode. - Rangschik waarden met behulp van de
rank()methode.
# 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()
Merk op dat s1 = s creëert alleen een tweede naam voor hetzelfde object, nooit een kopie — daarom copy() volgt het.
Informatie ophalen
U kunt de volgende bewerkingen uitvoeren om informatie op te halen:
- Gebruik de
shapeattribuut om het aantal rijen en kolommen te verkrijgen. - Gebruik de
head()ortail()methode om de eerste of laatste paar rijen als steekproef te verkrijgen. - Gebruik de
info(),describe()ordtypesMethode om informatie te verkrijgen over het gegevenstype, het aantal, het gemiddelde, de standaardafwijking, de minimum- en maximumwaarden. - Gebruik de
count(),min(),max(),sum(),mean()enmedian()methoden om specifieke statistische informatie voor waarden te verkrijgen. - Gebruik de
loc[]methode om een rij te verkrijgen. - Gebruik de
groupby()Methode om de GROUP BY-functie toe te passen om vergelijkbare waarden in een kolom van een DataFrame te groeperen.
1. Basis informatie
# 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. Overzicht
# 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()
Functies toepassen
apply() Een functie wordt toegepast op elke waarde. Uitlijningsregels bepalen vervolgens wat er gebeurt wanneer twee objecten slechts een deel van hun index delen.
# 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. Interne gegevensuitlijning
# NA values for indices that don't overlap s2 = pd.Series([8, -1, 4], index=['A', 'C', 'D']) s + s2
2. Rekenkunde Operamet vulmethoden
# Fill values that don't overlap
s.add(s2, fill_value=0)
3. Filteren, sorteren en groeperen op
Deze functies kunnen worden gebruikt voor filteren, sorteren en groeperen.ping Series- en DataFrame-objecten.
# 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)
Gegevens exporteren
Elke schrijver hieronder is een spiegelbeeld van een lezer uit het importgedeelte, zodat een bestand de heen- en terugreis kan maken zonder extra hulpmiddelen.
# 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 van Cheatsheet
Alle hier vermelde commando's kunnen worden uitgevoerd in het bijbehorende notitieboek: Panda's spiekbriefje – Python voor Data Science.ipynb.

