Os registos de corridas de “yellow taxi” incluem campos que registam as datas/horas de recolha e entrega, as localizações de recolha e entrega, as distâncias das corridas, tarifas discriminadas, tipos de taxas, tipos de pagamentos e contagens de passageiros feitas pelo motorista.
Volume e Retenção
Este conjunto de dados é armazenado no formato Parquet. Tem cerca de 1,5 mil milhões de linhas (50 GB) no total à data de 2018.
Este conjunto de dados contém registos históricos acumulados de 2009 a 2018. Pode utilizar as definições de parâmetros no nosso SDK para obter os dados num intervalo de tempo específico.
Localização do Armazenamento
Este conjunto de dados é armazenado na região do Azure E.U.A. Leste. A alocação de recursos de computação nos E.U.A. Leste é recomendada por questões de afinidade.
Informações adicionais
Comissão de Táxis e Limusinas (TLC) de Nova Iorque:
Os dados foram recolhidos e fornecidos à Comissão de Táxis e Limusinas (TLC) de Nova Iorque por fornecedores de tecnologia autorizados ao abrigo dos Programas Taxicab e Livery Passenger Enhancement (TPEP/LPEP). Os dados das corridas não foram criados pela TLC, a qual não assume qualquer responsabilidade pela exatidão desses dados.
Estão disponíveis informações adicionais sobre os Dados de Registos de Corridas da TLC aqui e aqui.
Avisos
A MICROSOFT DISPONIBILIZA OS CONJUNTOS DE DADOS ABERTOS DO AZURE TAL COMO ESTÃO. A MICROSOFT NÃO FAZ GARANTIAS, EXPRESSAS OU IMPLÍCITAS, NEM CONDIÇÕES RELATIVAMENTE À SUA UTILIZAÇÃO DOS CONJUNTOS DE DADOS. ATÉ AO LIMITE MÁXIMO PERMITIDO PELA LEGISLAÇÃO LOCAL, A MICROSOFT REJEITA QUALQUER RESPONSABILIDADE POR DANOS OU PERDAS, INCLUINDO DIRETOS, CONSEQUENCIAIS, ESPECIAIS, INDIRETOS, INCIDENTAIS OU PUNITIVOS, QUE RESULTEM DA SUA UTILIZAÇÃO DOS CONJUNTOS DE DADOS.
Este conjunto de dados é disponibilizado de acordo com os termos originais em que a Microsoft recebeu os dados de origem. O conjunto de dados pode incluir dados obtidos junto da 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 |
A Zona de Táxi da TLC na qual o taxímetro foi desligado. |
endLat | double | 961,994 | 41.366138 40.75 |
|
endLon | double | 1,144,935 | -73.137393 -73.9824 |
|
extra | double | 877 | 0.5 1.0 |
Extras e outras cobranças diversas. Atualmente, só inclui a hora de ponta de 0,50 $ e de 1,00 $ e a bandeirada com a sobretaxa noturna. |
fareAmount | double | 18,935 | 6.5 4.5 |
A bandeirada de hora e distância calculada pelo taxímetro. |
improvementSurcharge | string | 60 | 0.3 0 |
Sobretaxa de melhoria ambiental de 0,30 $ para viagens com bandeirada. A sobretaxa de melhoria começou a ser cobrada em 2015. |
mtaTax | double | 360 | 0.5 -0.5 |
Taxa de 0,50 $ da Área Metropolitana que é acionada automaticamente com base na bandeirada do taxímetro que está a ser utilizada. |
passengerCount | int | 64 | 1 2 |
O número de passageiros no veículo. Este valor é introduzido pelo motorista. |
paymentType | string | 6,282 | CSH CRD |
Um código numérico que significa o modo como o passageiro pagou a viagem. 1 = Cartão de crédito; 2 = Dinheiro; 3 = Não cobrada; 4 = Litígio; 5 = Desconhecido; 6 = Viagem cancelada. |
puLocationId | string | 266 | 237 161 |
A Zona de Táxi da TLC na qual o taxímetro foi ligado. |
puMonth | int | 12 | 3 5 |
|
puYear | int | 29 | 2012 2011 |
|
rateCodeId | int | 56 | 1 2 |
O código da tarifa final em vigor no final da viagem. 1 = Tarifa padrão; 2 = JFK; 3 = Newark; 4 = Nassau ou Westchester; 5 = Tarifa negociada; 6 = Corrida de grupo. |
startLat | double | 833,016 | 41.366138 40.7741 |
|
startLon | double | 957,428 | -73.137393 -73.9824 |
|
storeAndFwdFlag | string | 8 | N 0 |
Este sinalizador indica se o registo da corrida foi guardado na memória do veículo antes de ser enviado para o fornecedor, também conhecido como “armazenar e reencaminhar”, porque o veículo não tinha ligação ao servidor. Y = corrida com armazenamento e reencaminhamento; N = corrida sem armazenamento e reencaminhamento. |
tipAmount | double | 12,121 | 1.0 2.0 |
Este campo é preenchido automaticamente para gorjetas pagas com cartão de crédito. Não inclui gorjetas pagas em dinheiro. |
tollsAmount | double | 6,634 | 5.33 4.8 |
Montante total de todas as portagens pagas na viagem. |
totalAmount | double | 39,707 | 7.0 7.8 |
O montante total cobrado aos passageiros. Não inclui gorjetas pagas em dinheiro. |
tpepDropoffDateTime | timestamp | 290,185,010 | 2009-11-01 01:55:00 2010-04-09 21:08:00 |
A data e hora em que o taxímetro foi desativado. |
tpepPickupDateTime | timestamp | 289,948,585 | 2009-11-01 01:05:00 2011-11-06 01:05:00 |
A data e hora em que o taxímetro foi ativado. |
tripDistance | double | 14,003 | 1.0 0.9 |
A distância percorrida da viagem em milhas, conforme mostrada no taxímetro. |
vendorID | string | 7 | VTS CMT |
Um código que indica o fornecedor TPEP que forneceu o registo. 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'))