pythonadvanced
Efficient One-Hot Pivot with Sparse
Create a sparse user-item matrix from transaction logs for recommendation or ML use cases.
pythonPress ⌘/Ctrl + Shift + C to copy
import pandas as pd
transactions = pd.DataFrame({'user_id':[1,1,2,3,2,1],'item':['A','B','B','C','A','C']})
# Pivot to binary user-item matrix
matrix = (
transactions.assign(val=1)
.pivot_table(index='user_id', columns='item', values='val', fill_value=0, aggfunc='max')
.astype(pd.SparseDtype('int8', fill_value=0))
)
print(matrix)
print(f'Density: {matrix.sparse.density:.1%}')Use Cases
- recommendation systems
- feature matrices
- user-item modeling
Tags
Related Snippets
Similar patterns you can reuse in the same workflow.
pythonbeginner
Pandas DataFrame Transformations
Common pandas DataFrame transformations including column operations, type casting, and string methods.
Best for: Cleaning raw data files for analysis
#pandas#dataframe
pythonbeginner
Pandas DataFrame Filtering Techniques
Filter DataFrames using boolean masks, query syntax, isin, between, and string matching methods.
Best for: Extracting subsets of data for reporting
#pandas#filtering
pythonintermediate
Pandas GroupBy Aggregation Examples
GroupBy operations with multiple aggregations, named aggregations, and transform for DataFrame analysis.
Best for: Sales reporting by region and time period
#pandas#groupby
pythonintermediate
Pandas Merge and Join Examples
Combine DataFrames using merge, join, and concat with different join types and key handling.
Best for: Combining data from multiple sources
#pandas#merge