Verarbeiten wir dieselben Tabellendaten auf dieselbe Weise mit dplyr in R und pandas in Python.
Was ist schneller? Ich war neugierig und habe es nachgeschlagen.
Lassen Sie uns ein Basis-Hit-Ranking .csv aus den All-Match-Hit-Ergebnisdaten der Major League 2013 (77 MB, ca. 190.000 Zeilen) erstellen.
Das Skript dplyr.R, das mit Rs dplyr geschrieben wurde, ist
library(data.table)
library(dplyr)
##Daten gelesen
dat = fread("all2013.csv")
##Aggregat
dat %>% select(BAT_ID, H_FL) %>%
group_by(BAT_ID) %>%
summarise(BASE = sum(H_FL)) %>%
arrange(desc(BASE)) %>%
write.csv("hoge.csv")
So was.
> time R -f dplyr.R
R -f dplyr.R 3.13s user 0.15s system 99% cpu 3.294 total
Mit Python-Pandas,
#!/usr/bin/python
import pandas as pd
df = pd.read_csv('all2013.csv')
df[["BAT_ID", "H_FL"]].groupby("BAT_ID").sum().sort("H_FL", ascending=False).to_csv('hoge.csv')
So was.
> time ./pd.py
./pd.py 3.12s user 0.40s system 98% cpu 3.567 total
3,29 Sekunden für dplyr, 3,56 Sekunden für Pandas.
dplyr ist etwas besser.
Mit 77 MB Daten scheint beides nicht besonders schnell zu sein.
Ist es in Ordnung, wenn Sie jemanden verwenden, der daran gewöhnt ist?
das ist alles.
Recommended Posts