Home » 
        Python » 
        Python Programs
    
    
    Convert Pandas dataframe to Sparse Numpy Matrix Directly
    
    
    
    
	    Learn, how to convert pandas dataframe to sparse numpy matrix directly in Python?
	    
		    By Pranit Sharma Last updated : September 17, 2023
	    
    
    
    Pandas is a special tool that allows us to perform complex manipulations of data effectively and efficiently. Inside pandas, we mostly deal with a dataset in the form of DataFrame. DataFrames are 2-dimensional data structures in pandas. DataFrames consist of rows, columns, and data.
    Problem statement
    Suppose that we are given a pandas dataframe and we need to convert it into a sparse matrix directly. By directly, we mean that we do not want to convert it into a matrix first.
    Converting dataframe to sparse numpy matrix
    The scipy.sparse.csr_matrix() is used to create a sparse matrix, with a dataframe, we need to pass all of its values directly, hence, we need to pass df.values as an argument which will work as a numpy array.
    Let us understand with the help of an example,
    Python program to convert pandas dataframe to sparse numpy matrix directly
# Importing pandas package
import pandas as pd
# Import numpy
import numpy as np
# Importing scipy
import scipy
# Creating a dataframe
df = pd.DataFrame(data={'X': [1,2,3], 'Y': [4,5,6], 'Z': [7,8,9]})
# Display the DataFrame
print("Original DataFrame:\n",df,"\n\n")
# Creating a sparse matrix
res = scipy.sparse.csr_matrix(df.values)
# Display Result
print("Result:\n",res)
    Output
    The output of the above program is:
    
    Python Pandas Programs »
    
    
    
    
    
  
    Advertisement
    
    
    
  
  
    Advertisement