Rekordy dotyczące przejazdów żółtymi taksówkami zawierają pola daty i godziny rozpoczęcia oraz zakończenia kursu, miejsca rozpoczęcia i zakończenia kursu, pokonanej odległości, wyszczególnionych opłat, taryfy, metody płatności oraz liczby pasażerów podanej przez kierowcę.
Ilość danych i przechowywanie
Ten zestaw danych jest przechowywany w formacie Parquet. Zawiera łącznie około 1,5 miliarda wierszy (50 GB) danych (informacja aktualna na rok 2018).
Ten zestaw danych zawiera historyczne rekordy z lat 2009–2018. Aby pobrać dane z konkretnego przedziału czasowego, należy użyć ustawień parametrów w zestawie SDK.
Lokalizacja przechowywania
Ten zestaw danych jest przechowywany w regionie platformy Azure Wschodnie stany USA. Zalecamy przydzielanie zasobów obliczeniowych w regionie Wschodnie stany USA z uwagi na koligację.
Dodatkowe informacje
Komisja ds. taksówek i limuzyn miasta Nowy Jork (TLC):
Dane zostały zebrane i dostarczone do TLC przez dostawców technologii uczestniczących w programach TPEP/LPEP (Taxicab & Livery Passenger Enhancement Program). Dane dotyczące przejazdów nie zostały utworzone przez TLC i komisja nie gwarantuje rzetelności tych danych.
Dodatkowe informacje na temat danych TLC o przewozach można znaleźć tutaj i tutaj.
Uwagi
FIRMA MICROSOFT UDOSTĘPNIA OTWARTE ZESTAWY DANYCH W ICH AKTUALNYM STANIE. FIRMA MICROSOFT NIE UDZIELA ŻADNYCH GWARANCJI, JAWNYCH LUB DOMNIEMANYCH, ANI NIE OKREŚLA ŻADNYCH WARUNKÓW W ODNIESIENIU DO KORZYSTANIA Z ZESTAWÓW DANYCH. W ZAKRESIE DOZWOLONYM PRZEZ PRZEPISY PRAWA LOKALNEGO FIRMA MICROSOFT ZRZEKA SIĘ ODPOWIEDZIALNOŚCI ZA JAKIEKOLWIEK STRATY I SZKODY, W TYM SZKODY BEZPOŚREDNIE, WYNIKOWE, SPECJALNE, POŚREDNIE, PRZYPADKOWE LUB KARNE, WYNIKAJĄCE Z KORZYSTANIA Z TYCH ZESTAWÓW DANYCH.
Zestaw danych jest udostępniany zgodnie z pierwotnymi warunkami, na jakich firma Microsoft otrzymała dane źródłowe. Zestaw danych może zawierać dane pozyskane z firmy Microsoft.
Access
Available in | When to use |
---|---|
Azure Notebooks | Quickly explore the dataset with Jupyter notebooks hosted on Azure or your local machine. |
Azure Databricks | Use this when you need the scale of an Azure managed Spark cluster to process the dataset. |
Azure Synapse | Use this when you need the scale of an Azure managed Spark cluster to process the dataset. |
Preview
vendorID | tpepPickupDateTime | tpepDropoffDateTime | passengerCount | tripDistance | puLocationId | doLocationId | rateCodeId | storeAndFwdFlag | paymentType | fareAmount | extra | mtaTax | improvementSurcharge | tipAmount | tollsAmount | totalAmount | puYear | puMonth |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | 1/24/2088 12:25:39 AM | 1/24/2088 7:28:25 AM | 1 | 4.05 | 24 | 162 | 1 | N | 2 | 14.5 | 0 | 0.5 | 0.3 | 0 | 0 | 15.3 | 2088 | 1 |
2 | 1/24/2088 12:15:42 AM | 1/24/2088 12:19:46 AM | 1 | 0.63 | 41 | 166 | 1 | N | 2 | 4.5 | 0 | 0.5 | 0.3 | 0 | 0 | 5.3 | 2088 | 1 |
2 | 11/4/2084 12:32:24 PM | 11/4/2084 12:47:41 PM | 1 | 1.34 | 238 | 236 | 1 | N | 2 | 10 | 0 | 0.5 | 0.3 | 0 | 0 | 10.8 | 2084 | 11 |
2 | 11/4/2084 12:25:53 PM | 11/4/2084 12:29:00 PM | 1 | 0.32 | 238 | 238 | 1 | N | 2 | 4 | 0 | 0.5 | 0.3 | 0 | 0 | 4.8 | 2084 | 11 |
2 | 11/4/2084 12:08:33 PM | 11/4/2084 12:22:24 PM | 1 | 1.85 | 236 | 238 | 1 | N | 2 | 10 | 0 | 0.5 | 0.3 | 0 | 0 | 10.8 | 2084 | 11 |
2 | 11/4/2084 11:41:35 AM | 11/4/2084 11:59:41 AM | 1 | 1.65 | 68 | 237 | 1 | N | 2 | 12.5 | 0 | 0.5 | 0.3 | 0 | 0 | 13.3 | 2084 | 11 |
2 | 11/4/2084 11:27:28 AM | 11/4/2084 11:39:52 AM | 1 | 1.07 | 170 | 68 | 1 | N | 2 | 9 | 0 | 0.5 | 0.3 | 0 | 0 | 9.8 | 2084 | 11 |
2 | 11/4/2084 11:19:06 AM | 11/4/2084 11:26:44 AM | 1 | 1.3 | 107 | 170 | 1 | N | 2 | 7.5 | 0 | 0.5 | 0.3 | 0 | 0 | 8.3 | 2084 | 11 |
2 | 11/4/2084 11:02:59 AM | 11/4/2084 11:15:51 AM | 1 | 1.85 | 113 | 137 | 1 | N | 2 | 10 | 0 | 0.5 | 0.3 | 0 | 0 | 10.8 | 2084 | 11 |
2 | 11/4/2084 10:46:05 AM | 11/4/2084 10:50:09 AM | 1 | 0.62 | 231 | 231 | 1 | N | 2 | 4.5 | 0 | 0.5 | 0.3 | 0 | 0 | 5.3 | 2084 | 11 |
Name | Data type | Unique | Values (sample) | Description |
---|---|---|---|---|
doLocationId | string | 265 | 236 161 |
Strefa taksówkowa TLC, w której wyłączono taksometr. |
endLat | double | 961,994 | 41.366138 40.75 |
|
endLon | double | 1,144,935 | -73.137393 -73.9824 |
|
extra | double | 877 | 0.5 1.0 |
Różne opłaty dodatkowe. Obecnie ta wartość obejmuje tylko opłaty w wysokości 0,50 USD i 1 USD stosowane w godzinach szczytu i w nocy. |
fareAmount | double | 18,935 | 6.5 4.5 |
Opłata za czas i odległość według taksometru. |
improvementSurcharge | string | 60 | 0.3 0 |
Opłata dodatkowa na fundusz modernizacyjny w wysokości 0,30 USD, naliczana w momencie rozpoczęcia przejazdu. Pobieranie tej opłaty dodatkowej rozpoczęto w roku 2015. |
mtaTax | double | 360 | 0.5 -0.5 |
Podatek miejski (MTA) w wysokości 0,50 USD, naliczany automatycznie w zależności od stosowanej taryfy taksometru. |
passengerCount | int | 64 | 1 2 |
Liczba pasażerów w pojeździe. Tę wartość wprowadza kierowca. |
paymentType | string | 6,282 | CSH CRD |
Kod liczbowy oznaczający metodę płatności za przejazd. 1 = Karta kredytowa 2 = Gotówka 3 = Brak opłaty 4 = Opłata sporna 5 = Nieznana 6 = Przejazd unieważniony |
puLocationId | string | 266 | 237 161 |
Strefa taksówkowa TLC, w której włączono taksometr. |
puMonth | int | 12 | 3 5 |
|
puYear | int | 29 | 2012 2011 |
|
rateCodeId | int | 56 | 1 2 |
Kod taryfy stosowanej w momencie zakończenia przejazdu. 1 = taryfa standardowa 2 = lotnisko JFK 3 = Newark 4 = Nassau lub Westchester 5 = taryfa negocjowana 6 = taryfa grupowa |
startLat | double | 833,016 | 41.366138 40.7741 |
|
startLon | double | 957,428 | -73.137393 -73.9824 |
|
storeAndFwdFlag | string | 8 | N 0 |
Ta flaga wskazuje, czy rekord dotyczący przejazdu był przechowywany w pamięci pojazdu przed przesłaniem do dostawcy (co nazywa się przesyłaniem typu „store and forward”), ponieważ pojazd nie miał połączenia z serwerem. Y = przejazd przesłany metodą „store and forward”, N = przejazd nieprzesłany metodą „store and forward”. |
tipAmount | double | 12,121 | 1.0 2.0 |
To pole jest wypełniane automatycznie w przypadku napiwków doliczonych do płatności kartą kredytową. Nie obejmuje napiwków w gotówce. |
tollsAmount | double | 6,634 | 5.33 4.8 |
Łączna kwota wszystkich opłat drogowych uiszczonych podczas przejazdu. |
totalAmount | double | 39,707 | 7.0 7.8 |
Łączna opłata obciążająca pasażerów. Nie obejmuje napiwków w gotówce. |
tpepDropoffDateTime | timestamp | 290,185,010 | 2009-11-01 01:55:00 2010-04-09 21:08:00 |
Data i godzina wyłączenia taksometru. |
tpepPickupDateTime | timestamp | 289,948,585 | 2009-11-01 01:05:00 2011-11-06 01:05:00 |
Data i godzina włączenia taksometru. |
tripDistance | double | 14,003 | 1.0 0.9 |
Odległość przejazdu w milach według taksometru. |
vendorID | string | 7 | VTS CMT |
Kod wskazujący dostawcę danego rekordu w ramach programu TPEP. 1 = Creative Mobile Technologies, LLC 2 = VeriFone Inc. |
Azure Notebooks
# This is a package in preview.
from azureml.opendatasets import NycTlcYellow
from datetime import datetime
from dateutil import parser
end_date = parser.parse('2018-06-06')
start_date = parser.parse('2018-05-01')
nyc_tlc = NycTlcYellow(start_date=start_date, end_date=end_date)
nyc_tlc_df = nyc_tlc.to_pandas_dataframe()
nyc_tlc_df.info()
# Pip install packages
import os, sys
!{sys.executable} -m pip install azure-storage-blob
!{sys.executable} -m pip install pyarrow
!{sys.executable} -m pip install pandas
# Azure storage access info
azure_storage_account_name = "azureopendatastorage"
azure_storage_sas_token = r""
container_name = "nyctlc"
folder_name = "yellow"
from azure.storage.blob import BlockBlobServicefrom azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
if azure_storage_account_name is None or azure_storage_sas_token is None:
raise Exception(
"Provide your specific name and key for your Azure Storage account--see the Prerequisites section earlier.")
print('Looking for the first parquet under the folder ' +
folder_name + ' in container "' + container_name + '"...')
container_url = f"https://{azure_storage_account_name}.blob.core.windows.net/"
blob_service_client = BlobServiceClient(
container_url, azure_storage_sas_token if azure_storage_sas_token else None)
container_client = blob_service_client.get_container_client(container_name)
blobs = container_client.list_blobs(folder_name)
sorted_blobs = sorted(list(blobs), key=lambda e: e.name, reverse=True)
targetBlobName = ''
for blob in sorted_blobs:
if blob.name.startswith(folder_name) and blob.name.endswith('.parquet'):
targetBlobName = blob.name
break
print('Target blob to download: ' + targetBlobName)
_, filename = os.path.split(targetBlobName)
blob_client = container_client.get_blob_client(targetBlobName)
with open(filename, 'wb') as local_file:
blob_client.download_blob().download_to_stream(local_file)
# Read the parquet file into Pandas data frame
import pandas as pd
print('Reading the parquet file into Pandas data frame')
df = pd.read_parquet(filename)
# you can add your filter at below
print('Loaded as a Pandas data frame: ')
df
Azure Databricks
# This is a package in preview.
# You need to pip install azureml-opendatasets in Databricks cluster. https://docs.microsoft.com/en-us/azure/data-explorer/connect-from-databricks#install-the-python-library-on-your-azure-databricks-cluster
from azureml.opendatasets import NycTlcYellow
from datetime import datetime
from dateutil import parser
end_date = parser.parse('2018-06-06')
start_date = parser.parse('2018-05-01')
nyc_tlc = NycTlcYellow(start_date=start_date, end_date=end_date)
nyc_tlc_df = nyc_tlc.to_spark_dataframe()
display(nyc_tlc_df.limit(5))
# Azure storage access info
blob_account_name = "azureopendatastorage"
blob_container_name = "nyctlc"
blob_relative_path = "yellow"
blob_sas_token = r""
# Allow SPARK to read from Blob remotely
wasbs_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path)
spark.conf.set(
'fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name),
blob_sas_token)
print('Remote blob path: ' + wasbs_path)
# SPARK read parquet, note that it won't load any data yet by now
df = spark.read.parquet(wasbs_path)
print('Register the DataFrame as a SQL temporary view: source')
df.createOrReplaceTempView('source')
# Display top 10 rows
print('Displaying top 10 rows: ')
display(spark.sql('SELECT * FROM source LIMIT 10'))
Azure Synapse
# This is a package in preview.
from azureml.opendatasets import NycTlcYellow
from datetime import datetime
from dateutil import parser
end_date = parser.parse('2018-06-06')
start_date = parser.parse('2018-05-01')
nyc_tlc = NycTlcYellow(start_date=start_date, end_date=end_date)
nyc_tlc_df = nyc_tlc.to_spark_dataframe()
# Display top 5 rows
display(nyc_tlc_df.limit(5))
# Azure storage access info
blob_account_name = "azureopendatastorage"
blob_container_name = "nyctlc"
blob_relative_path = "yellow"
blob_sas_token = r""
# Allow SPARK to read from Blob remotely
wasbs_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path)
spark.conf.set(
'fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name),
blob_sas_token)
print('Remote blob path: ' + wasbs_path)
# SPARK read parquet, note that it won't load any data yet by now
df = spark.read.parquet(wasbs_path)
print('Register the DataFrame as a SQL temporary view: source')
df.createOrReplaceTempView('source')
# Display top 10 rows
print('Displaying top 10 rows: ')
display(spark.sql('SELECT * FROM source LIMIT 10'))