Pandas Cheat Sheet for Data Science i Python
⚡ Smart opsummering
Pandas snydeark kondenserer bibliotekets mest brugte kommandoer på én side. Denne reference grupperer dem efter opgave: installation, opbygning af serier og datarammer, import af filer, valg af rækker, rensning af data, anvendelse af funktioner og eksport af resultater.

Hvad er et pandas-snydeark?
Pandas-biblioteket leverer hundredvis af funktioner, men kun en lille delmængde optræder i det daglige arbejde. Pandaer snydeark er en reference på én side, der viser disse kommandoer, grupperet efter den opgave, de udfører.
Den dækker serie- og datarammestrukturer, import og eksport af filer, valg og sortering af data, rensning af værdier og anvendelse af funktioner. Hvert afsnit nedenfor kombinerer en kort forklaring med kørbar kode, så siden også fungerer som en genopfriskning til dine færdigheder i dataanalyse.
👉 Download PDF'en af Cheat Sheet her
Sådan installeres og importeres Pandas
To kommandoer konfigurerer Pandas, og begge kører i en terminal eller en Jupyter Notesbog celle.
Trin 1) Installer Pandas
Kør dette én gang pr. miljø; sæt et udråbstegn foran i en celle i en notesbog.
pip install pandas
Trin 2) Importér pandaer
Importer pakken under aliasset pd, hvilket hvert eksempel her antager.
import pandas as pd
Du kan nu kalde Pandas-funktioner for at manipulere, analysere og rense data. Afsnittene nedenfor viser dem i den rækkefølge, du normalt bruger til at bruge dem.
Pandas datastrukturer
Pandas har to datastrukturer, Series og DataFrameBegge er mærkede arrays, og begge kan indeholde enhver datatype. Den eneste forskel er dimensionalitet: en serie er et endimensionelt array, og en dataframe er et todimensionelt array bygget af nusset arrays nedenunder.
| Feature | Series | DataFrame |
|---|---|---|
| Mål | Endimensionel | To-dimensionelle |
| Besidder | En enkelt mærket kolonne | Mange kolonner, blandede datatyper |
| Constructor | pd.Series() | pd.DataFrame() |
1. Serie
Det er et endimensionelt mærket array. Det kan indeholde enhver datatype, og None bliver en manglende værdi.
s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])
2. DataFrame
Det er et todimensionelt mærket array. Det kan indeholde alle datatyper og kolonner i forskellige størrelser.
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()
Det udskrivbare snydeark nedenfor samler de samme kommandoer på én side.
Importerer data
Pandaer kan læse mange filtyper direkte ind i en DataFrame. Hver læser nedenfor returnerer én, og read_csv() er den mest brugte.
# 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)
Udvælgelse
Du kan vælge elementer efter deres placering eller efter deres indeksetiket. Den samme syntaks for firkantede parenteser vælger rækker, kolonner og udsnit fra begge strukturer.
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]
Valg ved boolsk indeksering og indstilling
Brug iloc og iat for heltalspositioner, og loc og at til etiketter.
1. Efter stilling
df.iloc[0, 1] df.iat[0, 1]
2. Efter Label
df.loc[[0], ['Name']]
3. Efter etiket/position
df.loc[2] # Both are same
df.iloc[2]
4. Boolean indeksering
En boolsk maske gemmer kun rækker, hvor betingelsen er sand. Det andet eksempel tilføjer NOT-operatoren. ~, så den returnerer også værdier, der ikke er over 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()
Data Rengøring
Til Python data-rensning snydeark formål, kan du udføre følgende handlinger:
- Omdøb kolonner ved hjælp af
rename()fremgangsmåde. - Opdater værdier ved hjælp af
at[]oriat[]metode til at tilgå og ændre specifikke elementer. - Opret en kopi af en serie eller dataramme ved hjælp af
copy()fremgangsmåde. - Tjek for NULL-værdier ved hjælp af
isnull()metoden, og slip dem ved hjælp afdropna()fremgangsmåde. - Tjek for dubletter ved hjælp af
duplicated()metode. Slip dem ved hjælp afdrop_duplicates()fremgangsmåde. - Erstat NULL-værdier ved hjælp af
fillna()metode med en bestemt værdi. - Erstat værdier ved hjælp af
replace()fremgangsmåde. - Sortér værdier ved hjælp af
sort_values()fremgangsmåde. - Rangordværdier ved hjælp af
rank()fremgangsmåde.
# 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()
Bemærk, at s1 = s skaber kun et andet navn til det samme objekt, aldrig en kopi — derfor copy() følger det.
Henter information
Du kan udføre disse handlinger for at hente oplysninger:
- Brug
shapeattribut for at få antallet af rækker og kolonner. - Brug
head()ortail()metode til at hente de første eller sidste par rækker som en stikprøve. - Brug
info(),describe()ordtypesMetode til at indhente information om datatype, antal, middelværdi, standardafvigelse, minimums- og maksimumsværdier. - Brug
count(),min(),max(),sum(),mean()ogmedian()metoder til at indhente specifikke statistiske oplysninger for værdier. - Brug
loc[]metode til at få en række. - Brug
groupby()metode til at anvende GROUP BY-funktionen til at gruppere lignende værdier i en kolonne i en DataFrame.
1. Grundlæggende oplysninger
# 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. Resumé
# 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()
Anvendelse af funktioner
apply() skubber en funktion hen over hver værdi. Justeringsregler bestemmer derefter, hvad der sker, når to objekter kun deler en del af deres indeks.
# 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. Intern datajustering
# NA values for indices that don't overlap s2 = pd.Series([8, -1, 4], index=['A', 'C', 'D']) s + s2
2. Aritmetik Operationer med Fyldmetoder
# Fill values that don't overlap
s.add(s2, fill_value=0)
3. Filtrer, sorter og grupper efter
Disse funktioner kan bruges til filtrering, sortering og grupperingping Serie- og DataFrame-objekter.
# 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)
Dataeksport
Hver forfatter nedenfor spejler en læser fra importsektionen, så en fil kan foretage en rundtur uden ekstra værktøj.
# 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 af snydeark
Alle kommandoer her kan køres i den tilhørende notesbog: Pandas snydeark – Python for Data Science.ipynb.

