Pandas Tutorial
pandas adds the DataFrame — a labelled, in-memory table with SQL-like joins, filters, and aggregations. The standard tool for data wrangling in Python.
Install
SHELL
pip install pandas
Create a DataFrame
PYTHON
import pandas as pd
df = pd.DataFrame({
'name': ['Ada', 'Grace', 'Linus'],
'age': [36, 56, 42],
'country': ['UK', 'US', 'FI'],
})
print(df)
Read & write
PYTHON
df = pd.read_csv('customers.csv')
df = pd.read_json('users.json')
df = pd.read_sql('SELECT * FROM orders', con=connection)
df.to_csv('out.csv', index=False)
df.to_json('out.json', orient='records')
df.to_parquet('out.parquet')
Common operations
| Operation | Code |
|---|---|
| First 5 rows | df.head() |
| Shape | df.shape → (rows, cols) |
| Summary stats | df.describe() |
| Filter | df[df.age > 40] |
| Select columns | df[['name', 'age']] |
| New column | df['decade'] = df.age // 10 |
| Group by | df.groupby('country').age.mean() |
| Sort | df.sort_values('age', ascending=False) |
| Join | orders.merge(customers, on='customer_id') |
Series — a column on its own
PYTHON
ages = df['age'] print(ages.mean()) print(ages.value_counts())
Tip: For datasets that don't fit in RAM look at polars (Rust-based, much faster on the same shape of API) or dask (distributed pandas).
Example
Example
# import pandas as pd
# df = pd.DataFrame({'name': ['Ada', 'Linus'], 'age': [36, 56]})
# print(df)
print('pandas adds DataFrames — tabular data with SQL-like ops.')
Try it Yourself »
Exercise
Common alias for the pandas import.
import pandas as
Two letters.
Discussion
Loading…