How to convert a Pandas DataFrame to a NumPy array and back?
NumPy: Interoperability Exercise-13 with Solution
Write a NumPy program to create a Pandas DataFrame, convert it to a NumPy array, and then convert it back to a DataFrame.
Sample Solution:
Python Code:
import numpy as np
import pandas as pd
# Create a Pandas DataFrame
data = {
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data)
# Print the original DataFrame
print("Original DataFrame:")
print(df)
print("Type:",type(df))
# Convert the DataFrame to a NumPy array
array = df.to_numpy()
# Print the NumPy array
print("\nNumPy Array:")
print(array)
print("Type:",type(array))
# Convert the NumPy array back to a DataFrame
df_back = pd.DataFrame(array, columns=df.columns)
# Print the DataFrame converted back from the NumPy array
print("\nDataFrame from NumPy Array:")
print(df_back)
print("Type:",type(df_back))
Output:
Original DataFrame: A B C 0 1 5 9 1 2 6 10 2 3 7 11 3 4 8 12 Type: <class 'pandas.core.frame.DataFrame'> NumPy Array: [[ 1 5 9] [ 2 6 10] [ 3 7 11] [ 4 8 12]] Type: <class 'numpy.ndarray'> DataFrame from NumPy Array: A B C 0 1 5 9 1 2 6 10 2 3 7 11 3 4 8 12 Type: <class 'pandas.core.frame.DataFrame'>
Explanation:
- Import NumPy and Pandas Libraries: Import the NumPy and Pandas libraries to work with arrays and DataFrames.
- Create Pandas DataFrame: Define a Pandas DataFrame with some example data.
- Convert DataFrame to NumPy Array: Use the to_numpy() method of the DataFrame to convert it into a NumPy array.
- Convert NumPy Array Back to DataFrame: Use the pd.DataFrame() constructor to convert the NumPy array back into a DataFrame, ensuring the column names match the original DataFrame.
- Print Original DataFrame: Output the original DataFrame to compare with the converted versions.
- Print NumPy Array: Output the NumPy array to verify the conversion.
- Print DataFrame from NumPy Array: Output the DataFrame converted back from the NumPy array to verify the conversion accuracy.
Python-Numpy Code Editor:
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics