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.

Real New York City yellow taxi trips from early 2025: times, zones, distances, fares and tips.

1,440 taxi trips4 tablesJan 2025 – Mar 2025

what to watch for

Tricky rows

  • Trips with no passenger count188 rows
  • Trips with a distance of 0 miles37 rows
  • Trips with a negative fare (refunds and voids)43 rows
  • Trips recorded with 0 passengers9 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.

trips1,440 rows · 19 columns · CSV

One taxi trip.

In your code: data/trips.csv

  • trip_idintegerkey

    Trip ID

  • vendor_idinteger

    Company whose meter system recorded the trip

  • pickup_attimestamp

    When the meter started, New York local time

  • dropoff_attimestamp

    When the meter stopped, New York local time

  • passenger_countinteger · can be empty

    Passengers, as entered by the driver; sometimes missing

  • trip_distance_milesdecimal

    Distance on the taximeter, miles

  • rate_code_idinteger · can be empty→ rate_codes

    Final rate code; empty when not reported

  • store_and_fwd_flagtext · can be empty

    Y when the car stored the trip and sent it later

  • pickup_zone_idinteger→ zones

    Pickup taxi zone

  • dropoff_zone_idinteger→ zones

    Dropoff taxi zone

  • payment_type_idinteger→ payment_types

    How the passenger paid

  • fare_amountdecimal

    Time-and-distance fare, USD

  • tip_amountdecimal

    Tip, USD; cash tips are not recorded

  • tolls_amountdecimal

    Tolls, USD

  • surcharge_amountdecimal

    Extras and surcharges, USD

  • congestion_surchargedecimal · can be empty

    New York State congestion surcharge, USD

  • airport_feedecimal · can be empty

    Airport pickup fee, USD

  • cbd_congestion_feedecimal · can be empty

    Manhattan congestion-pricing fee, USD (from 5 January 2025)

  • total_amountdecimal

    Total charged, USD (excludes cash tips)

zones265 rows · 4 columns · CSV

One New York taxi zone.

In your code: data/zones.csv

  • zone_idintegerkey

    Zone ID

  • zone_nametext

    Zone name

  • boroughtext

    Borough (or EWR / Unknown / N/A)

  • service_zonetext · can be empty

    Yellow Zone, Boro Zone, Airports, EWR or N/A

payment_types7 rows · 2 columns · CSV

Payment type codes.

In your code: data/payment_types.csv

  • payment_type_idintegerkey

    Code

  • descriptiontext

    Meaning

rate_codes7 rows · 2 columns · CSV

Rate code meanings.

In your code: data/rate_codes.csv

  • rate_code_idintegerkey

    Code

  • descriptiontext

    Meaning

relationships

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

  • trips.pickup_zone_id → zones.zone_id
  • trips.dropoff_zone_id → zones.zone_id
  • trips.payment_type_id → payment_types.payment_type_id
  • trips.rate_code_id → rate_codes.rate_code_id

where the course uses it

Lessons and practice questions use small samples of NYC Taxi Trips; projects open its files.

NYC Taxi Trips dataset — Python Datasets · Runtime