탐색 건너뛰기

NYC Taxi & Limousine Commission - yellow taxi trip records

NYC TLC Taxi yellow

노란색 택시 이동 레코드에는 승차 및 하차 날짜/시간, 승차 및 하단 위치, 이동 거리, 항목별 요금, 요율 종류, 지불 유형 및 운전자가 보고한 승객 수를 캡처하는 필드가 포함됩니다.

볼륨 및 보존

이 데이터 세트는 Parquet 형식으로 저장됩니다. 2018년 기준 총 약 15억 개의 행(50GB)이 있습니다.

이 데이터 세트는 2009년부터 2018년까지 누적된 기록 레코드를 포함합니다. SDK의 매개 변수 설정을 사용하여 특정 시간 범위의 데이터를 가져올 수 있습니다.

스토리지 위치

이 데이터 세트는 미국 동부 Azure 지역에 저장됩니다. 선호도를 위해 미국 동부에 컴퓨팅 리소스를 할당하는 것이 좋습니다.

추가 정보

NYC TLC(택시 및 리무진 위원회):

데이터는 TPEP/LPEP(Taxicab & Livery Passenger Enhancement Programs)에 따라 승인된 기술 공급 기업에 의해 수집되어 NYC TLC(택시 및 리무진 위원회)에 제공되었습니다. 이동 데이터는 TLC에서 만든 것이 아니며, TLC는 이 데이터의 정확성에 관해 어떠한 진술도 하지 않습니다.

TLC 이동 레코드 데이터에 대한 추가 정보는 여기여기에서 확인할 수 있습니다.

알림

Microsoft는 Azure Open Datasets를 “있는 그대로” 제공합니다. Microsoft는 귀하의 데이터 세트 사용과 관련하여 어떠한 명시적이거나 묵시적인 보증, 보장 또는 조건을 제공하지 않습니다. 귀하가 거주하는 지역의 법규가 허용하는 범위 내에서 Microsoft는 귀하의 데이터 세트 사용으로 인해 발생하는 일체의 직접적, 결과적, 특별, 간접적, 부수적 또는 징벌적 손해 또는 손실을 비롯한 모든 손해 또는 손실에 대한 모든 책임을 부인합니다.

이 데이터 세트는 Microsoft가 원본 데이터를 받은 원래 사용 약관에 따라 제공됩니다. 데이터 세트에는 Microsoft가 제공한 데이터가 포함될 수 있습니다.

Access

Available inWhen 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 161
236

택시미터가 해제된 TLC 택시 승차 구역입니다.

endLat double 961,994 41.366138
40.75
endLon double 1,144,935 -73.137393
-73.9824
extra double 877 0.5
1.0

기타 추가 비용 및 추가 요금입니다. 현재 혼잡 시간대 요금 $0.50 및 야간할증 요금 $1만 포함됩니다.

fareAmount double 18,935 6.5
4.5

미터로 계산된 시간/거리 병산 요금입니다.

improvementSurcharge string 60 0.3
0

기본요금에서 $0.30 개선 추가 요금이 평가되었습니다. 개선 추가 요금은 2015년에 징수되기 시작했습니다.

mtaTax double 360 0.5
-0.5

사용 중인 미터 요금에 따라 자동으로 활성화되는 $0.50 MTA 세금입니다.

passengerCount int 64 1
2

차량의 승객 수입니다. 운전자가 입력한 값입니다.

paymentType string 6,282 CSH
CRD

승객이 이동 요금을 지불한 방식을 나타내는 숫자 코드입니다.

1= 신용 카드,

2= 현금,

3= 무료,

4= 분쟁,

5= 알 수 없음,

6= 무효로 된 이동.

puLocationId string 266 237
161

택시미터가 작동된 TLC 택시 승차 구역입니다.

puMonth int 12 3
5
puYear int 29 2012
2011
rateCodeId int 56 1
2

이동 종료 시 유효한 최종 요금 코드입니다.

1= 표준 요금,

2= JFK,

3= 뉴어크,

4= 나소 또는 웨스트체스터,

5= 협상 요금,

6= 단체 승객.

startLat double 833,016 41.366138
40.7741
startLon double 957,428 -73.137393
-73.9824
storeAndFwdFlag string 8 N
0

이 플래그는 차량이 서버에 연결되지 않았으므로 이동 레코드를 공급업체로 보내기 전에 이동 레코드가 차량 메모리에 보관(“저장 및 전달”이라고도 함)되었는지를 나타냅니다.

Y= 이동 저장 및 전달,

N= 이동 저장 및 전달 아님.

tipAmount double 12,121 1.0
2.0

이 필드는 신용 카드 팁을 위해 자동으로 채워집니다. 현금 팁은 포함되지 않습니다.

tollsAmount double 6,634 5.33
4.8

이동 시 결제된 모든 요금의 총금액입니다.

totalAmount double 39,707 7.0
7.8

승객에게 청구된 총금액입니다. 현금 팁은 포함되지 않습니다.

tpepDropoffDateTime timestamp 290,185,010 2010-11-07 01:39:00
2010-11-07 01:40:00

미터가 해제된 날짜 및 시간입니다.

tpepPickupDateTime timestamp 289,948,585 2010-11-07 01:17:00
2013-11-03 01:15:00

미터가 작동된 날짜 및 시간입니다.

tripDistance double 14,003 1.0
0.9

택시미터에서 보고된 경과한 이동 거리(마일)입니다.

vendorID string 7 VTS
CMT

레코드를 제공한 TPEP 공급자를 나타내는 코드입니다.

1= Creative Mobile Technologies, LLC,

2= VeriFone Inc.

Select your preferred service:

Azure Notebooks

Azure Databricks

Azure Synapse

Azure Notebooks

Package: Language: Python Python
In [1]:
# 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()
ActivityStarted, to_pandas_dataframe ActivityStarted, to_pandas_dataframe_in_worker Target paths: ['/puYear=2018/puMonth=5/', '/puYear=2018/puMonth=6/'] Looking for parquet files... Reading them into Pandas dataframe... Reading yellow/puYear=2018/puMonth=5/part-00087-tid-4962944523873006564-6d1b261c-5f96-4819-ba4d-a034cf2bc6ec-12005.c000.snappy.parquet under container nyctlc Reading yellow/puYear=2018/puMonth=6/part-00171-tid-4962944523873006564-6d1b261c-5f96-4819-ba4d-a034cf2bc6ec-12089.c000.snappy.parquet under container nyctlc Done. ActivityCompleted: Activity=to_pandas_dataframe_in_worker, HowEnded=Success, Duration=137433.5 [ms] ActivityCompleted: Activity=to_pandas_dataframe, HowEnded=Success, Duration=137510.05 [ms]
In [2]:
nyc_tlc_df.info()
<class 'pandas.core.frame.DataFrame'> Int64Index: 10695823 entries, 189 to 5673232 Data columns (total 21 columns): vendorID object tpepPickupDateTime datetime64[ns] tpepDropoffDateTime datetime64[ns] passengerCount int32 tripDistance float64 puLocationId object doLocationId object startLon float64 startLat float64 endLon float64 endLat float64 rateCodeId int32 storeAndFwdFlag object paymentType object fareAmount float64 extra float64 mtaTax float64 improvementSurcharge object tipAmount float64 tollsAmount float64 totalAmount float64 dtypes: datetime64[ns](2), float64(11), int32(2), object(6) memory usage: 1.7+ GB
In [1]:
# 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
In [2]:
# Azure storage access info
azure_storage_account_name = "azureopendatastorage"
azure_storage_sas_token = r""
container_name = "nyctlc"
folder_name = "yellow"
In [3]:
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)
In [4]:
# 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)
In [5]:
# you can add your filter at below
print('Loaded as a Pandas data frame: ')
df
In [6]:
 

Azure Databricks

Package: Language: Python Python
In [1]:
# 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()
ActivityStarted, to_spark_dataframe ActivityStarted, to_spark_dataframe_in_worker ActivityCompleted: Activity=to_spark_dataframe_in_worker, HowEnded=Success, Duration=91957.61 [ms] ActivityCompleted: Activity=to_spark_dataframe, HowEnded=Success, Duration=91961.14 [ms]
In [2]:
display(nyc_tlc_df.limit(5))
vendorIDtpepPickupDateTimetpepDropoffDateTimepassengerCounttripDistancepuLocationIddoLocationIdstartLonstartLatendLonendLatrateCodeIdstoreAndFwdFlagpaymentTypefareAmountextramtaTaximprovementSurchargetipAmounttollsAmounttotalAmountpuYearpuMonth
22018-06-05T23:37:15.000+00002018-06-06T00:15:57.000+0000121.65132142nullnullnullnull2N152.00.00.50.38.05.7666.5620186
22018-05-31T18:04:19.000+00002018-06-01T17:56:15.000+000019.95230138nullnullnullnull1N135.01.00.50.38.515.7651.0720186
22018-05-31T18:58:20.000+00002018-06-01T18:55:28.000+000021.9148239nullnullnullnull1N212.01.00.50.30.00.013.820186
22018-05-31T16:45:53.000+00002018-06-01T16:06:26.000+000062.79230125nullnullnullnull1N214.01.00.50.30.00.015.820186
22018-05-31T15:08:53.000+00002018-06-01T14:21:29.000+000011.723674nullnullnullnull1N110.01.00.50.32.360.014.1620186
In [1]:
# Azure storage access info
blob_account_name = "azureopendatastorage"
blob_container_name = "nyctlc"
blob_relative_path = "yellow"
blob_sas_token = r""
In [2]:
# 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)
In [3]:
# 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')
In [4]:
# Display top 10 rows
print('Displaying top 10 rows: ')
display(spark.sql('SELECT * FROM source LIMIT 10'))

Azure Synapse

Package: Language: Python Python
In [31]:
# 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()
In [32]:
# Display top 5 rows
display(nyc_tlc_df.limit(5))
Out[32]:
In [1]:
# Azure storage access info
blob_account_name = "azureopendatastorage"
blob_container_name = "nyctlc"
blob_relative_path = "yellow"
blob_sas_token = r""
In [2]:
# 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)
In [3]:
# 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')
In [4]:
# Display top 10 rows
print('Displaying top 10 rows: ')
display(spark.sql('SELECT * FROM source LIMIT 10'))