Bird
Raised Fist0
Pandasdata~10 mins

Reading JSON with read_json in Pandas - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to read a JSON file into a pandas DataFrame.

Pandas
import pandas as pd

df = pd.[1]('data.json')
Drag options to blanks, or click blank then click option'
Aread_excel
Bread_csv
Cread_table
Dread_json
Attempts:
3 left
💡 Hint
Common Mistakes
Using read_csv instead of read_json
Forgetting to import pandas
Using read_excel for JSON files
2fill in blank
medium

Complete the code to read JSON data from a string using pandas.

Pandas
import pandas as pd

json_str = '{"name": ["Alice", "Bob"], "age": [25, 30]}'
df = pd.read_json([1])
Drag options to blanks, or click blank then click option'
A'data.json'
Bjson_file
Cjson_str
Ddata
Attempts:
3 left
💡 Hint
Common Mistakes
Passing a filename string instead of the JSON string variable
Not using quotes correctly around the JSON string
Using a variable name that does not exist
3fill in blank
hard

Fix the error in the code to correctly read a JSON file with pandas.

Pandas
import pandas as pd

df = pd.read_json('data.json', [1]='records')
Drag options to blanks, or click blank then click option'
Aorient
Bformat
Cstyle
Dindex
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect parameter names like 'format' or 'style'
Misspelling 'orient'
Passing wrong values to the parameter
4fill in blank
hard

Fill both blanks to create a DataFrame from JSON data and display the first rows.

Pandas
import pandas as pd

json_path = 'data.json'
df = pd.[1](json_path)
print(df.[2]())
Drag options to blanks, or click blank then click option'
Aread_json
Bread_csv
Chead
Dtail
Attempts:
3 left
💡 Hint
Common Mistakes
Using read_csv instead of read_json
Using tail() instead of head() to preview data
Forgetting parentheses after head or tail
5fill in blank
hard

Fill all three blanks to read JSON data, select a column, and convert it to a list.

Pandas
import pandas as pd

df = pd.[1]('data.json')
names = df[[2]].[3]()
Drag options to blanks, or click blank then click option'
Aread_json
B'name'
Ctolist
D'age'
Attempts:
3 left
💡 Hint
Common Mistakes
Using read_csv instead of read_json
Selecting the wrong column name
Using to_list() instead of tolist()

Practice

(1/5)
1. What does the pandas function read_json do?
easy
A. It loads JSON data into a pandas DataFrame for analysis.
B. It converts a DataFrame into a JSON string.
C. It saves a DataFrame as a CSV file.
D. It reads CSV files into a DataFrame.

Solution

  1. Step 1: Understand the purpose of read_json

    The function read_json is designed to load JSON formatted data into a pandas DataFrame.
  2. Step 2: Compare with other pandas functions

    Functions like to_json convert DataFrames to JSON, and read_csv reads CSV files, so they do not match the description.
  3. Final Answer:

    It loads JSON data into a pandas DataFrame for analysis. -> Option A
  4. Quick Check:

    read_json loads JSON to DataFrame = C [OK]
Hint: Remember: read_json reads JSON into DataFrame [OK]
Common Mistakes:
  • Confusing read_json with to_json
  • Thinking it reads CSV files
  • Assuming it saves data instead of loading
2. Which of the following is the correct syntax to read a JSON file named data.json using pandas?
easy
A. pd.read_json(data.json)
B. pd.read_json('data.json')
C. pd.readjson('data.json')
D. pd.read_json['data.json']

Solution

  1. Step 1: Check the function name and usage

    The correct pandas function is read_json with an underscore, called as a function with parentheses.
  2. Step 2: Validate the argument format

    The file name must be a string inside quotes, so 'data.json' is correct.
  3. Final Answer:

    pd.read_json('data.json') -> Option B
  4. Quick Check:

    Correct function call with string filename = B [OK]
Hint: Use parentheses and quotes for file name in read_json [OK]
Common Mistakes:
  • Missing quotes around filename
  • Using wrong function name like readjson
  • Using square brackets instead of parentheses
3. Given the JSON string '[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]', what will be the output of pd.read_json(json_str) where json_str holds this string?
medium
A. An error because the JSON string is not a file path.
B. A Series object with the JSON string as a single entry.
C. A DataFrame with columns 'name' and 'age' and two rows for Alice and Bob.
D. A DataFrame with one column containing the entire JSON string.

Solution

  1. Step 1: Understand input format

    The JSON string is a list of objects, each with 'name' and 'age' keys, suitable for conversion to a DataFrame.
  2. Step 2: Behavior of pd.read_json on JSON string

    Passing a JSON string with list of dicts creates a DataFrame with columns matching keys and rows for each dict.
  3. Final Answer:

    A DataFrame with columns 'name' and 'age' and two rows for Alice and Bob. -> Option C
  4. Quick Check:

    List of dicts JSON string -> DataFrame rows and columns = A [OK]
Hint: List of dicts JSON string becomes DataFrame rows [OK]
Common Mistakes:
  • Expecting error for string input
  • Thinking it returns Series instead of DataFrame
  • Assuming entire JSON is one column
4. What is wrong with this code snippet?
import pandas as pd
json_data = '{"name": "Alice", "age": 30}\n{"name": "Bob", "age": 25}'
df = pd.read_json(json_data)
medium
A. The function read_json cannot read JSON strings.
B. The JSON string is invalid because it uses double quotes.
C. The variable json_data should be a file path, not a string.
D. The JSON string is multiline but lines=True is missing in read_json.

Solution

  1. Step 1: Identify JSON format

    The JSON string contains multiple JSON objects separated by newlines, which is a JSON lines format.
  2. Step 2: Check pandas parameter for JSON lines

    To read JSON lines, read_json requires lines=True to parse each line as a JSON object.
  3. Final Answer:

    The JSON string is multiline but lines=True is missing in read_json. -> Option D
  4. Quick Check:

    Multiline JSON needs lines=True in read_json = D [OK]
Hint: Use lines=True for newline-separated JSON objects [OK]
Common Mistakes:
  • Ignoring the need for lines=True with JSON lines
  • Thinking double quotes are invalid in JSON
  • Assuming read_json only reads files
5. You have a JSON file where data is stored as a dictionary of lists like this:
{"name": ["Alice", "Bob"], "age": [30, 25]}

Which read_json parameter should you use to correctly load this into a DataFrame?
hard
A. orient='columns'
B. orient='index'
C. orient='records'
D. orient='split'

Solution

  1. Step 1: Identify JSON structure

    The JSON is a dictionary with keys as column names and values as lists of column data, matching the 'columns' orientation.
  2. Step 2: Match pandas orient parameter

    Using orient='columns' tells pandas to interpret keys as columns and values as column data lists.
  3. Final Answer:

    orient='columns' -> Option A
  4. Quick Check:

    Dict of lists JSON needs orient='columns' = A [OK]
Hint: Use orient='columns' for dict of lists JSON format [OK]
Common Mistakes:
  • Using orient='records' which expects list of dicts
  • Using orient='index' which expects dict of dicts
  • Not specifying orient and getting wrong DataFrame
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard