library(reticulate) # carrega o pacote reticulate, que integra R e Python
virtualenv_create("env_me315") # cria um ambiente virtual Python chamado 'env_me315'
virtualenv: env_me315
Utilize o conjunto de dados flights.csv.zip
disponível em https://www.kaggle.com/usdot/flight-delays e carregue os dados utilizando as funções:
read.csv()
do pacote base
do R
read_csv()
do pacote readr
do R
read_csv()
do pandas
no Python
Qual dessas três formas de carregar os dados é mais rápida? (calcule o tempo exato que demorou cada método em carregar os dados no seu computador)
flights.csv
, zipar ele (e salvar como flights.csv.zip
).Criar um ambiente virtual ‘env_me315’ e usar ele quando for utilizar Python.
library(reticulate) # carrega o pacote reticulate, que integra R e Python
virtualenv_create("env_me315") # cria um ambiente virtual Python chamado 'env_me315'
virtualenv: env_me315
use_virtualenv("env_me315", required = TRUE) # define que vamos usar o ambiente virtual criado
py_config() # mostra detalhes da configuração do Python em uso
python: \\smb/ra238935/Documentos/.virtualenvs/env_me315/Scripts/python.exe
libpython: C:/Program Files/Python312/python312.dll
pythonhome: \\smb/ra238935/Documentos/.virtualenvs/env_me315
version: 3.12.0 (tags/v3.12.0:0fb18b0, Oct 2 2023, 13:03:39) [MSC v.1935 64 bit (AMD64)]
Architecture: 64bit
numpy: \\smb/ra238935/Documentos/.virtualenvs/env_me315/Lib/site-packages/numpy
numpy_version: 2.3.3
NOTE: Python version was forced by use_python() function
py_install("pandas", envname = "env_me315") # instala a biblioteca pandas dentro do ambiente virtual
Using virtual environment "env_me315" ...
+ //smb/ra238935/Documentos/.virtualenvs/env_me315/Scripts/python.exe -m pip install --upgrade --no-user pandas
<- Sys.time()
ini <- read.csv(unz("flights.csv.zip", "flights.csv")) # lê o arquivo flights.csv dentro do zip usando a função base R
dados <- Sys.time()
fim - ini fim
Time difference of 1.238073 mins
#install.packages("readr")
#install.packages("vroom")
library(readr)
Warning: package 'readr' was built under R version 4.3.3
library(vroom)
Warning: package 'vroom' was built under R version 4.3.3
Attaching package: 'vroom'
The following objects are masked from 'package:readr':
as.col_spec, col_character, col_date, col_datetime, col_double,
col_factor, col_guess, col_integer, col_logical, col_number,
col_skip, col_time, cols, cols_condense, cols_only, date_names,
date_names_lang, date_names_langs, default_locale, fwf_cols,
fwf_empty, fwf_positions, fwf_widths, locale, output_column,
problems, spec
<- Sys.time()
ini <- read_csv("flights.csv.zip") # lê o CSV comprimido diretamente do zip dados
Rows: 5819079 Columns: 31
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (11): AIRLINE, TAIL_NUMBER, ORIGIN_AIRPORT, DESTINATION_AIRPORT, SCHEDUL...
dbl (20): YEAR, MONTH, DAY, DAY_OF_WEEK, FLIGHT_NUMBER, DEPARTURE_DELAY, TAX...
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
<- Sys.time()
fim - ini fim
Time difference of 39.77097 secs
import time # biblioteca para medir tempo
import pandas as pd # importa o pandas para manipulação de dados
= time.time()
ini = pd.read_csv("flights.csv.zip", compression="zip", header=0) # lê o CSV zipado usando pandas dados
<string>:1: DtypeWarning: Columns (7,8) have mixed types. Specify dtype option on import or set low_memory=False.
= time.time()
fim - ini fim
23.437248468399048