Jupyter Notebook
Comprehensive Jupyter Notebook shortcuts and workflows for data science and interactive computing.
Basic Navigation
Shortcut |
Mode |
Description |
Enter |
Command |
Enter Edit Mode |
Esc |
Edit |
Enter Command Mode |
Shift+Enter |
Both |
Run Cell and Select Below |
Ctrl+Enter |
Both |
Run Cell |
Alt+Enter |
Both |
Run Cell and Insert Below |
↑/↓ |
Command |
Select Cell Above/Below |
A |
Command |
Insert Cell Above |
B |
Command |
Insert Cell Below |
X |
Command |
Cut Cell |
C |
Command |
Copy Cell |
V |
Command |
Paste Cell Below |
Shift+V |
Command |
Paste Cell Above |
DD |
Command |
Delete Cell |
Z |
Command |
Undo Cell Deletion |
Cell Operations
Shortcut |
Mode |
Description |
M |
Command |
Change to Markdown Cell |
Y |
Command |
Change to Code Cell |
R |
Command |
Change to Raw Cell |
1-6 |
Command |
Change to Heading 1-6 |
Shift+M |
Command |
Merge Selected Cells |
Ctrl+Shift+- |
Edit |
Split Cell at Cursor |
Shift+J/K |
Command |
Extend Selection Below/Above |
Shift+↑/↓ |
Command |
Extend Selection |
Code Editing
Shortcut |
Mode |
Description |
Tab |
Edit |
Code Completion or Indent |
Shift+Tab |
Edit |
Tooltip |
Ctrl+] |
Edit |
Indent |
Ctrl+[ |
Edit |
Dedent |
Ctrl+A |
Edit |
Select All |
Ctrl+Z |
Edit |
Undo |
Ctrl+Shift+Z |
Edit |
Redo |
Ctrl+Y |
Edit |
Redo |
Ctrl+Home |
Edit |
Go to Cell Start |
Ctrl+End |
Edit |
Go to Cell End |
Ctrl+Left/Right |
Edit |
Go Left/Right One Word |
Ctrl+Backspace |
Edit |
Delete Word Before |
Ctrl+Delete |
Edit |
Delete Word After |
Running Code
Shortcut |
Mode |
Description |
Shift+Enter |
Both |
Run Cell, Select Below |
Ctrl+Enter |
Both |
Run Cell |
Alt+Enter |
Both |
Run Cell, Insert Below |
Ctrl+K |
Command |
Interrupt Kernel |
0,0 |
Command |
Restart Kernel |
Shift+L |
Command |
Toggle Line Numbers |
Shift+O |
Command |
Toggle Output |
File Operations
Shortcut |
Mode |
Description |
Ctrl+S |
Both |
Save and Checkpoint |
Ctrl+Shift+S |
Command |
Save As |
Ctrl+O |
Command |
Open |
Ctrl+N |
Command |
New Notebook |
Ctrl+Shift+P |
Command |
Command Palette |
View and Layout
Shortcut |
Mode |
Description |
Shift+Space |
Command |
Scroll Up |
Space |
Command |
Scroll Down |
Ctrl+Shift+L |
Command |
Toggle All Line Numbers |
F |
Command |
Find and Replace |
O |
Command |
Toggle Output |
Shift+O |
Command |
Toggle Output Scrolling |
Magic Commands
Command |
Description |
%run script.py |
Run Python script |
%load script.py |
Load script into cell |
%who |
List variables |
%whos |
List variables with details |
%time statement |
Time execution of statement |
%timeit statement |
Time execution multiple times |
%matplotlib inline |
Enable inline plots |
%pwd |
Print working directory |
%cd directory |
Change directory |
%ls |
List directory contents |
%history |
Show command history |
%reset |
Reset namespace |
%debug |
Enter debugger |
%pdb on/off |
Toggle automatic debugger |
Cell Magic Commands
Command |
Description |
%%time |
Time execution of entire cell |
%%timeit |
Time execution of cell multiple times |
%%bash |
Run cell as bash script |
%%html |
Render cell as HTML |
%%javascript |
Run cell as JavaScript |
%%latex |
Render cell as LaTeX |
%%markdown |
Render cell as Markdown |
%%python2 |
Run cell with Python 2 |
%%python3 |
Run cell with Python 3 |
%%writefile filename |
Write cell contents to file |
Data Science Workflows
Data Loading and Exploration
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# Load data
df = pd.read_csv('data.csv')
# Quick exploration
df.head()
df.info()
df.describe()
df.shape
Data Visualization
# Matplotlib inline
%matplotlib inline
# Basic plots
plt.figure(figsize=(10, 6))
plt.plot(x, y)
plt.title('Title')
plt.xlabel('X Label')
plt.ylabel('Y Label')
plt.show()
# Seaborn plots
sns.scatterplot(data=df, x='col1', y='col2')
sns.heatmap(df.corr(), annot=True)
Machine Learning Pipeline
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# Prepare data
X = df[['feature1', 'feature2']]
y = df['target']
# Split data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# Train model
model = LinearRegression()
model.fit(X_train, y_train)
# Evaluate
predictions = model.predict(X_test)
mse = mean_squared_error(y_test, predictions)
# Header 1
## Header 2
### Header 3
#### Header 4
##### Header 5
###### Header 6
Text Formatting
**Bold text**
*Italic text*
`Code text`
~~Strikethrough~~
Lists
- Unordered list item 1
- Unordered list item 2
1. Ordered list item 1
2. Ordered list item 2
Links and Images
[Link text](URL)

Tables
|Column 1|Column 2|Column 3|
|----------|----------|----------|
|Row 1|Data|Data|
|Row 2|Data|Data|
Math (LaTeX)
Inline math: $E = mc^2$
Block math:
$\int_\\\\{-\infty\\\\}^\\\\{\infty\\\\} e^\\\\{-x^2\\\\} dx = \sqrt\\\\{\pi\\\\}$
Best Practices
Code Organization
- Use meaningful variable names
- Add comments and docstrings
- Break complex operations into multiple cells
- Use functions for repeated operations
- Import libraries at the top
Data Analysis Workflow
- Data Loading: Import and initial exploration
- Data Cleaning: Handle missing values, outliers
- Exploratory Data Analysis: Visualizations and statistics
- Feature Engineering: Create new features
- Modeling: Train and evaluate models
- Results: Interpret and visualize results
- Use vectorized operations with NumPy/Pandas
- Avoid loops when possible
- Use appropriate data types
- Clear output of large cells
- Restart kernel periodically
Documentation
- Use Markdown cells for explanations
- Document assumptions and decisions
- Include data source information
- Add conclusions and next steps
- Use clear section headers