runtime

datasets real and made-up data to practise on

Datasets

Data for the Playground, Database Lab and Performance Lab. Pick one and open its files.

Fictional short-term rental listings, hosts, a 90-day calendar and guest reviews.

120 listings4 tablesJan 2010 – Aug 2025

what to watch for

Tricky rows

  • Prices stored as text with "$" and thousands separators120 rows
  • Amenities stored as a JSON list inside one CSV cell120 rows
  • Bathrooms as text ("1.5 shared baths", "Half-bath") instead of a number120 rows
  • Listings with no reviews (no score, no last review date)16 rows

files

Open a file to see what one row means, its columns and a preview. Open in Playground starts a new file there with code that loads it.

hosts111 rows · 7 columns · CSV

One host account. A few professional hosts run many listings.

In your code: data/hosts.csv

  • host_idintegerkey

    Host ID

  • host_nametext

    Invented first name or company

  • host_sincedate

    Joined

  • host_is_superhosttext

    "t" (yes) or "f" (no)

  • host_response_ratetext

    Percent as text ("96%") or "N/A"

  • host_response_timetext · can be empty

    Typical response time

  • host_identity_verifiedtext

    "t" (yes) or "f" (no)

listings120 rows · 21 columns · CSV

One listing.

In your code: data/listings.csv

  • listing_idintegerkey

    Listing ID

  • host_idinteger→ hosts

    Host

  • nametext

    Listing title

  • neighbourhoodtext

    Neighbourhood

  • neighbourhood_grouptext

    Area of the city

  • latitudedecimal

    Latitude (approximate)

  • longitudedecimal

    Longitude (approximate)

  • room_typetext

    Entire home/apt, Private room, Shared room or Hotel room

  • accommodatesinteger

    Guests

  • bathrooms_texttext

    Bathrooms as text

  • bedroomsinteger · can be empty

    Bedrooms; empty for shared rooms

  • bedsinteger

    Beds

  • amenitiestext

    JSON list of amenities

  • pricetext

    Nightly price as text, "$1,250.00"

  • minimum_nightsinteger

    Minimum stay

  • maximum_nightsinteger

    Maximum stay

  • instant_bookabletext

    "t" (yes) or "f" (no)

  • licensetext · can be empty

    City licence number, "pending", "Exempt" or empty

  • number_of_reviewsinteger

    Reviews so far

  • last_reviewdate · can be empty

    Date of the latest review

  • review_scores_ratingdecimal · can be empty

    Average rating out of 5

calendar3,600 rows · 5 columns · CSV

One night of one listing: available or booked, and the asking price. 90 nights from 1 June 2025.

In your code: data/calendar.csv

  • listing_idintegerkey→ listings

    Listing

  • datedatekey

    Night

  • availabletext

    "t" free, "f" booked or blocked

  • pricetext

    Price as text

  • minimum_nightsinteger

    Minimum stay that night

reviews2,460 rows · 5 columns · CSV

One guest review.

In your code: data/reviews.csv

  • review_idintegerkey

    Review ID

  • listing_idinteger→ listings

    Listing

  • datedate

    Date

  • reviewer_nametext

    Invented first name

  • commentstext · can be empty

    Review text; sometimes empty or not in English

relationships

How to join these tables. Left column matches the right column.

  • listings.host_id → hosts.host_id
  • calendar.listing_id → listings.listing_id
  • reviews.listing_id → listings.listing_id

where the course uses it

Lessons and practice questions use small samples of Rentals; projects open its files.

Rentals dataset — Python Datasets · Runtime