w3resource

How to convert a Pandas DataFrame with mixed data types to a NumPy array?


18. Mixed DataFrame to Array Conversion

Write a NumPy program to convert a Pandas DataFrame with mixed data types (numerics and strings) to a NumPy array.

Sample Solution:

Python Code:

import pandas as pd
import numpy as np

# Create a Pandas DataFrame with mixed data types
data = {
    'A': [1, 2, 3, 4],
    'B': ['a', 'b', 'c', 'd'],
    'C': [5.0, 6.1, 7.2, 8.3]
}
df = pd.DataFrame(data)

print("Original Pandas DataFrame with mixed data types:",df)
print(type(df))

# Convert the DataFrame to a NumPy array
array = df.to_numpy()
print("\nDataFrame to a NumPy array:")
# Print the NumPy array
print(array)
print(type(array))

Output:

Original Pandas DataFrame with mixed data types:    A  B    C
0  1  a  5.0
1  2  b  6.1
2  3  c  7.2
3  4  d  8.3
<class 'pandas.core.frame.DataFrame'>

DataFrame to a NumPy array:
[[1 'a' 5.0]
 [2 'b' 6.1]
 [3 'c' 7.2]
 [4 'd' 8.3]]
<class 'numpy.ndarray'>

Explanation:

  • Import Pandas and NumPy Libraries: Import the Pandas and NumPy libraries to handle DataFrames and arrays.
  • Create Pandas DataFrame: Define a Pandas DataFrame with columns containing mixed data types (integers, strings, and floats).
  • Convert DataFrame to NumPy Array: Use the to_numpy() method of the DataFrame to convert it into a NumPy array.
  • Print NumPy Array: Output the resulting NumPy array to verify the conversion.

For more Practice: Solve these Related Problems:

  • Write a Numpy program to convert a Pandas DataFrame with mixed numeric and string data to a NumPy array and then separate the columns by type.
  • Write a Numpy program to convert a mixed-type DataFrame to a NumPy array and then perform vectorized string operations on the non-numeric columns.
  • Write a Numpy program to handle a DataFrame with missing mixed-type data during conversion to a NumPy array using conditional logic.
  • Write a Numpy program to convert a DataFrame with mixed data types to an array, enforce a homogeneous dtype, and then revert back while preserving original types.

Go to:


Previous: How to convert a list of lists of lists to a 3D NumPy array and print it?
Next: How to combine a NumPy array and a Pandas DataFrame into one DataFrame?

Python-Numpy Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.