Create a pandas DataFrame from a numpy array to use pandas features.
NumPy
import numpy as np
import pandas as pd
arr = np.array([[1, 2], [3, 4]])
df = pd.DataFrame(arr, columns=['A', 'B'])
print(df)
Sample Program
This program shows how to convert data from pandas to numpy to do math easily. We sum sales numbers using numpy after converting.
NumPy
import numpy as np
import pandas as pd
# Create a pandas DataFrame
sales_data = pd.DataFrame({
'Product': ['Apple', 'Banana', 'Cherry'],
'Sales': [100, 150, 200]
})
# Convert DataFrame to numpy array for calculation
sales_array = sales_data['Sales'].to_numpy()
# Calculate total sales using numpy
total_sales = np.sum(sales_array)
print(f"Total sales: {total_sales}")
OutputSuccess
Important Notes
Interop saves time by letting you use the best tool for each job.
Always check data types when converting to avoid mistakes.
Interop helps keep your code clean and efficient.
Summary
Interop means tools working together smoothly.
It helps you use data across different libraries easily.
Converting data formats is a common way to enable interop.
Practice
(1/5)
1. What does interop mean in the context of data science libraries like NumPy?
easy
A. Different tools working smoothly together
B. Writing code only in one library
C. Using only one data format
D. Avoiding data conversion between libraries
Solution
Step 1: Understand the meaning of interop
Interop means interoperability, which is about different tools or libraries working well together.
Step 2: Apply this to data science libraries
In data science, interop allows you to use data from one library easily in another without problems.
Final Answer:
Different tools working smoothly together -> Option A
Quick Check:
Interop = smooth cooperation [OK]
Hint: Interop means tools work well together [OK]
Common Mistakes:
Thinking interop means using only one library
Confusing interop with avoiding data conversion
Believing interop means no data sharing
2. Which of the following is the correct way to convert a NumPy array arr to a Python list for interoperability?
easy
A. arr.tolist()
B. list(arr)
C. arr.to_list()
D. arr.aslist()
Solution
Step 1: Recall NumPy array methods
NumPy arrays have a method called tolist() to convert to Python lists.
Step 2: Check each option
arr.tolist() is correct; list(arr) works but is less direct; arr.to_list() and arr.aslist() do not exist.
Final Answer:
arr.tolist() -> Option A
Quick Check:
Use tolist() to convert arrays [OK]
Hint: Use arr.tolist() to convert NumPy array to list [OK]
Common Mistakes:
Using non-existent methods like to_list()
Confusing list(arr) with arr.tolist()
Trying to use arr.aslist() which is invalid
3. What will be the output of this code?
import numpy as np
import pandas as pd
arr = np.array([1, 2, 3])
df = pd.DataFrame(arr, columns=['Numbers'])
print(df)
medium
A. An error because NumPy arrays can't convert to DataFrame
B. A NumPy array printed as a DataFrame
C. A DataFrame with one column 'Numbers' and rows 1, 2, 3
D. A DataFrame with columns named 0, 1, 2
Solution
Step 1: Understand the code
A NumPy array arr with values [1, 2, 3] is created. Then a pandas DataFrame is made using this array with column name 'Numbers'.
Step 2: Predict the DataFrame structure
The DataFrame will have one column named 'Numbers' and three rows with values 1, 2, and 3.
Final Answer:
A DataFrame with one column 'Numbers' and rows 1, 2, 3 -> Option C
Quick Check:
NumPy array to DataFrame with column name works [OK]
Hint: NumPy arrays convert to DataFrame rows easily [OK]
Common Mistakes:
Thinking conversion causes error
Assuming columns are numbered 0,1,2 instead of named
Confusing array shape with DataFrame shape
4. Identify the error in this code snippet that tries to convert a pandas DataFrame to a NumPy array:
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
arr = np.array(df)
print(arr)
medium
A. np.array() cannot convert DataFrame to array
B. DataFrame columns must be numeric to convert
C. Missing .values attribute to convert DataFrame
D. No error; code runs correctly
Solution
Step 1: Understand DataFrame to NumPy conversion
Pandas DataFrames can be converted to NumPy arrays using np.array() directly.
Step 2: Check the code behavior
The code creates a DataFrame and converts it to a NumPy array without error, printing the array.
Final Answer:
No error; code runs correctly -> Option D
Quick Check:
np.array(df) works fine [OK]
Hint: np.array(df) converts DataFrame to array directly [OK]
Common Mistakes:
Thinking .values is always needed
Believing np.array() can't handle DataFrames
Assuming only numeric columns convert
5. You have a NumPy array arr = np.array([[1, 2, 3], [4, 5, 6]]) and want to create a dictionary where keys are row indices and values are lists of row elements. Which code snippet correctly uses interop to achieve this?
hard
A. {i: arr[i] for i in range(arr.shape[0])}
B. {i: arr[i].tolist() for i in range(arr.shape[0])}
C. {i: arr.tolist()[i] for i in range(arr.shape[1])}
D. {i: list(arr[i]) for i in range(arr.shape[1])}
Solution
Step 1: Understand the array shape and desired dictionary
The array has 2 rows and 3 columns. We want keys as row indices (0,1) and values as lists of row elements.
Step 2: Analyze each option
{i: arr[i] for i in range(arr.shape[0])} returns NumPy arrays as values, not lists, so less interoperable. {i: list(arr[i]) for i in range(arr.shape[1])} uses range(arr.shape[1])=range(3), but only 2 rows, IndexError on arr[2]. {i: arr.tolist()[i] for i in range(arr.shape[1])} uses arr.tolist() which has length 2, IndexError on [2]. {i: arr[i].tolist() for i in range(arr.shape[0])} correctly uses range(2) and tolist() on each row.
Final Answer:
{i: arr[i].tolist() for i in range(arr.shape[0])} -> Option B
Quick Check:
Convert rows to lists with tolist() [OK]
Hint: Use tolist() on rows for dict values [OK]
Common Mistakes:
Iterating over columns instead of rows
Not converting arrays to lists
Using wrong range for iteration
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.