pythonbeginner
Expand JSON Column into DataFrame Columns
Parse a JSON-string column and expand its keys into separate columns in one step.
pythonPress ⌘/Ctrl + Shift + C to copy
import pandas as pd
import json
df = pd.DataFrame({'id':[1,2,3],'metadata':['{}','{}','{}']})
df['metadata'] = [
'{"country":"US","tier":"gold","referral":true}',
'{"country":"UK","tier":"silver","referral":false}',
'{"country":"DE","tier":"gold","referral":true}',
]
# Expand JSON column
meta_df = df['metadata'].apply(json.loads).apply(pd.Series)
result = pd.concat([df.drop(columns='metadata'), meta_df], axis=1)
print(result)Use Cases
- JSON column expansion
- metadata parsing
- ETL flattening
Tags
Related Snippets
Similar patterns you can reuse in the same workflow.
pythonbeginner
Flatten Nested JSON with pandas
Use pd.json_normalize to flatten deeply nested API responses into a flat DataFrame.
Best for: API response flattening
#pandas#json
pythonintermediate
Read Large CSV in Chunks with Pandas
Process CSV files larger than RAM by reading in chunks — memory-efficient ETL pattern for data pipelines.
Best for: Processing multi-GB CSV files without running out of memory
#pandas#csv
pythonintermediate
Pandas Vectorised Operations vs Apply
Compare apply vs vectorised pandas operations for performance-critical column transformations.
Best for: feature engineering
#pandas#vectorization
pythonbeginner
SQLite + Pandas Local Data Pipeline
Run a lightweight local ETL with SQLite and pandas: load CSV, transform, persist to SQLite.
Best for: local analytics
#sqlite#pandas