αααααΆαααααααα R α¬ Python αα ααΎα’ααΈαααΊαα·α α’αααααΉαααΎαα’αααααααΆααααΆα αα·αααΈα‘αΌααααααααααΆααα·ααΆααααΆααΎαααααΆαααααααα½αααΆααα’ααΆα ααΏα αα·αααΆααααα½αααΆααααααΆααααααΎααΆαααΆαα½ααα·ααααααα ααα»ααααααΆα’αα»αα α’ααααα αα·αααααααααΆααα’ααααααα·αααΆαααααααααααΆαα·ααααααααα
αααααααααα’ααααααααααΊααΎααααΈαααααααααα αα αααααααααΎαααΆααα·ααααααααΆααΌαααααΆααα αααα»ααααα ααααααα·αααααα»αααααΆααΆααΆααααΈαα α αΎαβαα½αβα’αααβα’αΆαβα±ααβααΆααβαααβααΈβα’αααΈβαααβαα½αααβαα·αβααΆααβααΉαα αααααΆααα’ααααααααααααααα»α Python ααααααααααΈααααααααΎααΌα ααααΆαα αααα»α R αα·αα αααΆααααα·αα
αααα»αα’αα‘α»ααααα’ααααα ααΎαααΉααα·ααΆαααΆααααααααααααααααα
αααααααααα·αααααα»ααα
αααα»α R. ααΆαααααααΊααΆαααα
ααααααα½ααααα
αΌααα
αααα»ααααααΆααα tidyverse
αα·ααααα
αααααααα data.table
. α αΎαααααααααααΆααααααααααααααααα½αααααΆαα½α pandas
αααααΆαααα
αααα·ααΆααα·ααααααααααα·αααααα»ααα
αααα»α Python α
ααΎαααΉααα αα½αααα αΆααααααααΆααααααααΌαααΆααααΌαααααΆααα·ααΆααα·ααααααααΈααΆααααα»αααΆαα ααΆαα’αα»αααααα»αααΆααααα’α½α αα·ααΆααααααααΎ Python αα·α R α
ααΆαα·ααΆ
α’ααααααααα’αΆα ααααΌαααΆαααααΎααΆαααααΉαααααα ααααα·αααΎα’αααααααα ααΈααααααααΎααααα·ααααα·ααΆαααααΎαααΆααα·αααααααα½αα ααα½ααα αααα»ααααα αααα½ααααα»αα αααααααα ααααααααα»ααα·α αΆαααΆα
ααΆααα»αααααΆααααΆαααααΆα R αα·α Python
1.1.ααΆαα αΌαααααΎαα»αααΆααααα αα
1.2.αα·α αα ααΆα
1.3.ααΆαααααΎαα·αα·αααα
1.4.αα·ααΈααΆααααααα·α OOP
1.5.ααααα
1.6.αα ααΆαααααααααα·αααααα ααΆαααααΈαααΈα’αααΈαααα αααααααΎαααΉαααααΎ
2.1.tidyverse
2.2.ααΆααΆααα·αααααα
2.3.ααααΆαααα»ααααααΆ ααΆαααα‘αΎααααα αα αααα»ααααα»ααα·αααααα ααΆααααααΎαααα»ααα·αααααα ααΆαααααΎαααΎααα½ααααααα’αααααααΌαααΆα αααααα½α ααΆαααΆααααΆαααα»α αα·αααΆααααααΌααααα»α ααΆααα½ααα½αααααΆααΆαααααα (UNION) ααΆαααααΆααααΆααΆαααααα (α αΌααα½α) αα»αααΆααααα’α½α ααΌαααααΆα αα·ααα½αααααααΆ ααΆααΆαααααΎααααααααΆααα·ααΈααΆαααααααααΎαααΆααα·αααααααααα»α R αα·α Python ααα ααααΈααααα·ααααΆα ααΆααααααααα·ααααΈα’αααΈαααα αααα½αααΆαααα’αααααααΎ
ααααα·αααΎα’αααα
αΆααα’αΆααααααααΎααΆααα·ααΆααα·αααααα α’αααα’αΆα
ααααααααααααααα»α
ααΆααα»αααααΆααααΆαααααΆα R αα·α Python
ααΎααααΈααααΎα±ααααΆααΆααααααΆααααα½ααααααΆααα’ααααααα»αααΆαααααΌαααΈ Python αα R α¬αααα»ααααα·α αααα»αααΉααααααα ααα»α ααααΆααααα½αα ααα½ααααα’αααααααΌαααα α·ααααα»αααΆααα
ααΆαα αΌαααααΎαα»αααΆααααα αα
αα
αααααααααα
αααα½αααααΌαααΆααααα»ααα
αααα»α R α’ααααα·αα
αΆαααΆα
ααααααΆααααααααααα
ααααΎααααΈα
αΌαααααΎαα»αααΆαααααααΆαααααα αααα»αααααΈααΆαα
αααΎα ααααα·ααααααΆααΏαααααααΆαααα
αααα»α R ααα»ααααααΆα’αΆα
ααα½αααααΆαα α’ααααα·αα
αΆαααΆα
αααΆαα
αΌααααα
ααα’αααΈααΆααα’αα ααααα·αααΎα’αααααααΌαααΆααα»αααΆαααΆαα½αααααααΆαα
αααα»αααΌαααααα’ααα ααα»ααααααααΆααααα α
ααΆααααααααΆααααααααααα
αα αα·αααααααα»αααΆαα αααααΆααααααααΆαααααααααα
αα αα·ααα»αααΆααααα»α R ααΊααΆαααααΆααΈαα package_name::function_name()
.
αα
αααα»α Python αααα»ααα
αα·α ααΆααααΌαααΆαααα
αΆαααα»αααΆααΆαα»ααΆαααΎααααΈα α
αα»αααΆααααααα
ααααααααααΆαααααΆαα
αααΆααααΈαααααααααααΆα αα
αααααααααα
αααα½αααααΌαααΆαααΆααα ααΆααααααΆααΆααααΌαααΆαααααααααααααααΈ α§. pandas
ααΆβααααααΆβαααααβαααααααααΆαβααααΌαβααΆαβααααΎ pd
. αα»αααΆααααα
ααααααΌαααΆαα
αΌαααααΎααΆααααα
ααα»α
package_name.function_name()
.
αα·α αα ααΆα
αα
αααα»α R ααΆααΆααΏαααααααΆαααα»αααΆαααααΎαααα½αααΎααααΈαααααααααααα
ααααα»αα½αα obj_name <- value
αααααΈααΆαααααΆααααΎαααα½αααααΌαααΆαα’αα»ααααΆαααααα αααααΆααααΎααααΆαααα½ααα
αααα»α R ααααΌαααΆαααααΎααΆα
ααααααΎααααΈαααααΌαααααααα
α’αΆαα»ααααααα»αααΆαα
αα
αααα»α Python αα·α
αα
ααΆαααααΌαααΆααααα
ααααΆαααααα»αααααααααΆααααΎαααα½α obj_name = value
.
ααΆαααααΎαα·αα·αααα
ααΆααααΆαααΆααα»αααααΆααααΆαααα ααΈααααααααα αα αααα»α R ααΆααααααΎααα·αα·ααααα αΆααααααΎααα αα½α α αΎααα½ααααα αΌαααΆαα»αααααΆααααααΆααααΆααα’αααα αααα»ααα½αααααααα
αα
αααα»α Python ααΆααααααΎααα·αα·ααααα
αΆααααααΎαααΈααΌααα α αΎααα½ααααααΆαααααΎαααΎααα·ααα½ααααα
αΌαααΆαα»α
α»αααααααααααΆααααααΆαααα
αααα»ααα·αα·αααααααααα ααΌα
ααααααΆααα
ααΆ x[i:j]
αα
αααα»α Python ααΉααα·ααα½ααααα
αΌαααΆαα» j ααα
ααΆααααΆαααΆααα»ααααααααααΆαααα»αααΆαααααΎαα·αα·ααααα’αα·αααααΆααα
αααα»ααααααΆ R x[-1]
ααΉααααα‘ααααΆαα»ααΆααα’ααααααα·α
ααα ααΎααααααααΆαα»α
α»ααααααα αα
αααα»α Python αααααΆααααααααααΆααΉααααα‘ααααααΆαα»α
α»ααααααααα»αααααα
αα·ααΈααΆααααααα·α OOP
R α’αα»αααα OOP αα
αααα»ααα·ααΈααααΆαααααα½ααααααααα»ααααα»αααΆααααααα’αααΈααΏαααααα
αααα»αα’ααααα tydiverse
ααΆααΉαααΆααααα½αααΆα pandas
. αααααΈαααα’αΆα
ααΆαααα·ααααααααα»ααααααα
ααα»ααα ααααα»αααα»α R αα·αααΆααα·ααΈααΆααααα (ααααα·αααΎααΎααα·ααΆαα’αααΈααααΆαα S3 ααα»ααααααΆαααΆαα’αα»αααα OOP ααααααααααααα·αααΌαααΆαα αααΎααα)α ααΆβααΆαβααβαα»αααΆαβααΌαα βααα»αααααβαααβααααΎαααΆαβαα½αααΆβαα»αβααααΆβα’αΆαααααβααΎβααααΆααβααααβααααα»α
ααααα
αααα ααααΆαααααΆααααααααααΆαα pandas
ααΆααΉααα·αααααΉαααααΌαααΆαααααα»ααα ααα»αααααααα»αααΉαααααΆααΆαααααααα’ααααααα
ααΎααααΈαα»αα±αααααααΆαα»αααΆαααααΆααααα·αααααααα·ααα·αααα·αααααα»ααααα·αα αΆαααΆα ααα αααα»αααα·ααΆααΆαααΆαααΆαα’αααα’αΆα ααααΎαααααααααααααα ααΆαααααα αααααΌαααααααααααΆαααααΆααΈαα»αααΆααα½ααα αα»αααΆααααααΆαα α αΎααα»ααααααΆαα»αααααααααααα·ααααααα
α αΌαααΎαααα§ααΆα αααααΌαααΆαααααα αααααΎααααααΆαα»αααΆαααααΆααααα·αααααααααα»αααααα»ααΆα ααααα‘ααα
temp_object <- func1()
temp_object2 <- func2(temp_object )
obj <- func3(temp_object2 )
ααΎαααααΎααααα·ααααα·ααΆαα ααα½α 3 ααΆαααααααααΆαα α αΎαααααααααΈαα½ααααααΌαααΆααααααΆαα»ααααα»αααααα»ααΆα ααααα‘αααα½αα ααα»ααααααΆααα·ααα ααΎααα·αααααΌαααΆαααααα»αααααααΆαααααααα
α¬ααΌααααΈααα’αΆαααααααΆαααα ααα»ααααααΆαααααααΆαααΉαα’αααααααΎααααΆαα Excel α
obj <- func3(func2(func1()))
αααα»αααααΈααα ααΎααα·αααΆααααααΆαα»αααααααααααΆαααααΆααααα·αααααααα ααα»ααααααΆαα’αΆαααΌααααααΆααα»αααΆαααααΆααααααΆααΊααΆααΆααα’αΆαααα’α½αααααΆαααααα»αα
ααΎαααΉααα·αα·αααααΎααα·ααΈααΆαααααααΆα αααΎαα ααααααααΎαααΆααα·αααααααααα»α R α αΎααα½αααααααΎααααα·ααααα·ααΆαααααααααααΆααΆααα·ααΈααααααααααΆα
ααααααα
αααα»ααααααΆααα tidyverse
α’αα»αααααααααααα·ααααα·αα %>%
.
obj <- func1() %>%
func2() %>%
func3()
ααΌα
ααααααΎαααααααααααααΆαααΆα func1()
α αΎαααααααΆααααΆααΆα’αΆαα»αααααααααΌα func2()
αααααΆααααααΎαααααααΆααααααααααααΆαααααΆαααααΆα’αΆαα»αααααααααΌα func3()
. α αΎααα
ααΈαααα
ααααΎααααααααΆαααααΆααΆααα’αααααααΆαα’αα»αααααα
αααα»αααααα» obj <-
.
ααΆααβα’ααβααΆαβααΎβααααΌαβααΆαβαααα αΆαβαααΆαβααα’βααΆαβααΆαααβααα meme αααα
Π data.table
αααααααααΆααααααΌαααΆαααααΎααΆαααααααααααααααΆα
newDT <- DT[where, select|update|do, by][where, select|update|do, by][where, select|update|do, by]
αα αααα»αααααααααΆαααααΈαα½ααα’αααα’αΆα ααααΎααααααααααααα·ααααα·ααΆααα»αα
Π pandas
ααααα·ααααα·ααΆαααααααααααΌαααΆαααααααααα
ααα»α
α
obj = df.fun1().fun2().fun3()
ααΆαααααα ααΎααααα»ααααααΎαα df α αΎαααααΎαα·ααΈααααααΆα fun1()
αααααΆααααααΎαα’αα»αααααα·ααΈααΆααααααα
ααΉααααααααααααα½αααΆα fun2()
αααααΆααααΈ fun3()
. αααααααααααα½αααΆαααααΌαααΆααααααΆαα»ααααα»αααααα»αα½αα obj .
αα ααΆαααααααααα·αααααα
αα ααΆαααααααααα·αααααααα αααα»α R αα·α Python ααΊααααααααααΆ ααα»ααααααΆαααααααααααααααΆα
ααα·ααΆα
ααααααα
αααα»α R
ααααααα
αααα»α Python/pandas
αα
ααΆααααααααααΆααΆα
data.frame, data.table, tibble
DataFrame
αααααΈααααααα½ααα·ααΆααα
ααα·α
ααα
αααααΈαα
αααα»ααααααΆ α¬αααααΈαα
αααα»α Python αα»ααα
αα
ααΆαααααααααα·ααααααΆααΆααα α»ααααα·α
αααααΈ
αα
ααΆαα»αααα (αα
ααΆαα»αααα)
ααΎαααΉααα·αα·αααααΎααααααααα·ααα αα·αααΆααα»αααααΆαα½αα ααα½ααααααααααα αααα»αααΆαααααααααααααΆααααααα
ααΆαααααΈαααΈα’αααΈαααα αααααααΎαααΉαααααΎ
ααΆααααΌα αααα»αααΉαααααΆααα’αααααααα·α α’αααΈαααα αααααα’αααααΉαααααΆαααααα»αα’αα‘α»ααααα’ααααααααα
tidyverse
αααααΆαααααΌαααΆα:
αααααΆααα tidyverse
αααααααα Hedley Wickham α’αααααααΆαααααΆαααΆααααααααα
RStudio α tidyverse
ααΆααααα»ααααα
αααααα½αα±ααα
αΆααα’αΆαααααααααααααα½αααααΎαααΆααα·αααααα 5 αααααααΌαααΆααα½ααααα
αΌααα
αααα»αααΆαααΆαααααααΌαααΆαα 10 ααΈααααΆαα CRAN α
ααααΌααααααααΆαααααΆααααα
ααααΌα
ααΆααααααα ggplot2
, dplyr
, tidyr
, readr
, purrr
, tibble
, stringr
, forcats
. αααα
ααααΈαα½ααααΆαααααααΆαααααααααααααααΆααααα αΆααΆααααΆαααα½αα α§ααΆα ααα dplyr
αααααΎαα‘αΎααααααΆααααΆαααααααααααα·αααααα, tidyr
ααΎααααΈααΆααααα·αααααααα
ααΆααααααααα’αΆα stringr
ααααα½αααΆαααααΎααΆαααΆαα½αααααα’αααα αα·α ggplot2
ααΊααΆα§αααααααΎαααΎααα·ααααααααααααα·αααααα»ααα½αα
αα»ααααααααα tidyverse
ααΆααααααααααααΆαααΆαααα αα·αααΆααααα½αα’αΆα αααααΆαααααααααααααααΉαααΆααΆαααα½α SQL α
ααΆααΆααα·αααααα
ααα data.table
ααΊ Matt Dole αα H2O.ai α
ααΆαα ααααααΆααααααΆαααααααΌαααΆαααααΎα‘αΎααα ααααΆα 2006 α
ααΆααααααααααααααα
αααα·αααΆααααα½αααΌα
αα
αααα»α tidyverse
α αΎαβααΆαβααΆαβα
αα
αΆαβα
αααΎαβααΆαβααβααα»αβαα·ααααααβαα»ααΆαβαααα»α R ααα»ααααβαα
βαααβααΆαα½αβααααΆβαααβααΆαβαααααΈαβαααΆαβααααΆααβαααα»αβαα»αααΆαα
α§ααΆαααααΆααα’ααααΆαα½αααΆααΆααααα»ααααα
αααααααααΌαααΆααα·αααααΆαααα»αααααααααΆααα α αΎαααααα·αααΎα’αααααααααααΆααααααααααα data.table
αα
αααα»α SQL α’αααααα½αααΆαα’αααΈαα½αααΌα
αααα data.table[ WHERE, SELECT, GROUP BY ]
ααΆαααααΆαααααααα αααααααΊααααΏαααααααΎαααΆααα·ααααααααααα
ααααΆαααα»ααααααΆ
αααααΆαααααΌαααΆα:
ααααααααααΆαααααΆαααααΈααΆαααααααααα·α αα "αα·ααααααααααα" αααααααΌαααΆαααααΎααΎααααΈαα·αααααΆα’αααΈαααα»αααααααΆααααααΆααα ααΆαααααααααα α»αα·ααΆαααα
ααα pandas
ααΊααααΆαα·α’αΆαααα·α Wes McKinney α
αα
ααααααααΆαααααααΆααα·ααΆααα·αααααααα
αααα»α Python ααααΎ pandas
αα αααα
αααα α»αα»αααΆαααααα·αααααααααα’αα»ααααΆαα±ααα’αααα’αα»ααααααΆαα
αΆααα
ααααΆαα½αααΆαα½ααα·αααααα α
αΆααααΈααΆααααα»ααα·ααααααααΈαααααααΆαα½ααα αΌααααααΆαααΎαααΎαααΆα
ααΆαααα‘αΎααααα αααααααα
αααα
αααααααΆααα·ααΆααααΆαα
αααα»αα’αααααααααα·αααααΌαααΆααα½ααααα
αΌααα
αααα»αααΆαα
ααα
αΆα R αα·α Python ααΌαααααΆαααα αααααΈααΆααΆαααΆααααααΆαααΌα
αα½ααααααααααα·αααΎα’αααααΆαααα‘αΎαααΆαα
ααα
αΆα Anaconda αααααΆααααααα‘αΎααααααα pandas
αα·αβααααΌαααΆαα
ααΆαααα‘αΎααααα αααα αααα»α R
ααααα·αααΎα’αααααΆαααΎαααα·ααΆααΆαα’αα·αααααα RStudio αααΆαα αα
ααΆαααααα α’ααααααα ααααΆααΉαααΈααααααα‘αΎααααα
αααααααααΌαααΆααα
αααα»α Rα ααΎααααΈααα‘αΎααααα
αα ααΌαααααΎααΆααααααααΆαααααααΆα install.packages()
αααααααΎαααΆαααΆαααααααΆαααα
αααα»α R αααα½αααΆααααΆααα
# ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
install.packages("vroom")
install.packages("readr")
install.packages("dplyr")
install.packages("data.table")
αααααΆααααΈααα‘αΎααα½α
αααα
ααααααΌαααααΆαα ααααααα»αααααΈααΆαα
αααΎα ααΆααααααααΆααααΌαααΆαααααΎααααΆαα library()
.
# ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅
library(vroom)
library(readr)
library(dplyr)
library(data.table)
ααΆαααα‘αΎααααα αααα αααα»α Python
ααΌα
ααααααααα·αααΎα’αααααΆαααα‘αΎα Python αα»αααααα α’ααα
αΉα pandas
α’αααααααΌαααα‘αΎαααΆαααααα ααΎααααααΆααααΆααααααααΆ α¬ααααΆααΈα α’αΆαααααααΎααααααααααααα·ααααα·ααΆαααααα’ααα α αΎααααα
αΌαααΆααααααααΆααΆααααααα
pip install pandas
αααααΆααααααΎααααααααα
Python α αΎαααΆαα
αΌααααα
αααααααΆαααα‘αΎααααααααΎααΆααααααααΆ import
.
import pandas as pd
αααα»ααααα»ααα·αααααα
ααΆαααΈαααααααα·ααααααααΊααΆααα αΆαααααααΆαααααα»ααα½ααααα»αααΆααα·ααΆααα·ααααααα ααΆαα Python αα·α R ααααα·αααΎα ααααΆα αααααα±ααα’αααααΌαα±ααΆααααΆαααΌααααΌααΆααααα»αααΆαααα½αααΆααα·ααααααααΈαααααααΆαα½αα α―αααΆααααα»ααααα»α α―αααΆαααΈα’ααΈαααΊαα·α ααα ααααα αααααααααααααααΌαααααΆααα·ααααααα
ααααα½αα’ααααα ααΎαααΉαααααΎαααα»ααα·ααααααααΆα αααΎαα
- ααΆαααΆαααααΈαααΈ Google Analytics α
- αααα»ααα·ααααααα’αααααααΎαααΈααΆαα·α α
αα·ααααααααΆααα’ααααΊαα
ααΎαααααααα»α
αααα»ααααα»ααα·αααααααα αααα»α R: tidyverse, vroom, readr
ααΎααααΈαααα»ααα·αααααααα
αααα»ααααααΆααα tidyverse
ααΆαααΈααααα
ααα vroom
, readr
. vroom
ααααΎαααΆααα»α ααα»αααααα
αααα’ααΆαα αααα
ααα’αΆα
ααΉαααααΌαααΆααααα
αΌαααααΆα
αααααααααΈ vroom
.
vroom αααααΉαα’αααα’αΆα
ααΎααΆαα ααααααΆαα’αααΈvroom
ααΆαααααααααΆααreadr
? αααααΆαααααααα ααΎαααΆαααααααα’αα»ααααΆαα±αααααα ααααΆααααΈααα·αααααααααα‘ααααΈααααΆ ααα»ααααααααααΆααΎαααΉαααααα½αααααα½ααααα ααααΆαααα’ααΆααα αα»ααα·ααααα·αα½αα ααααααΆαα’αΆααααααα·ααααα vroom ααΊαααα αΆαα·αααααααα½αα ααα½ααα·αα’αΆα ααΆαααΆαααααΆαα»αααΆααα ααΌα αααααα·ααΈαααααα’αααα»ααααα»αααΆαααααα½αααααα½ααα½αααΆαααααΌαα±ααααΆαααΆααα·αααααααvroom αααααΉαα’αααα’αΆα
ααΎααΆαααααααααΆαααααααΆαααΆ?vroom
αααααΆααreadr
? αα αααααα ααΎαααΆαααααααα’αα·αααααααα ααααΆααααΈααααα‘ααααΈααααΆ ααα»ααααααΎααααα ααααΆααΉααααα αΌαααααΆαα αααα’ααΆααα αα»ααα·ααααα·αα½αααααΆααααα·αα’αΆαvroom
ααΊααΆαααα αΆαα½αα ααα½αααΆαα½ααα·αααααααα·αα’αΆα ααααΌαααΆαααΆαααΆαααααΆαα»ααα ααΌα ααααα’αααααααΌααα·αα’αααΈαααααααααα’αααα»ααααα»αααΆααααααα½αααΆα
αα αααα»αα’αααααααα ααΎαααΉααα·αα·αααααΎααααα αααααα»ααα·ααααααααΆααααΈαα
αααα»ααααα»ααα·αααααααα αααα»ααααα αα R: vroom
# install.packages("vroom")
library(vroom)
# Π§ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
## vroom
ga_nov <- vroom("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_nowember.csv")
ga_dec <- vroom("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_december.csv")
titanic <- vroom("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/titanic.csv")
αααα»ααααα»ααα·αααααααα αααα»α R: readr
# install.packages("readr")
library(readr)
# Π§ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
## readr
ga_nov <- read_tsv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_nowember.csv")
ga_dec <- read_tsv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_december.csv")
titanic <- read_csv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/titanic.csv")
αα
αααα»ααααα
αα vroom
ααααα·ααα·αααΈαααααααα·αααααα csv / tsv ααΆααααα»αααααΌαααΆαα’αα»ααααααααα»αααΆααααααααααΌα
ααααΆ vroom()
, αα
αααα»ααααα
αα readr
ααΎαααααΎαα»αααΆααααααααααΆαααααΆααααααααααΈαα½αα read_tsv()
ΠΈ read_csv()
.
αααα»ααααα»ααα·αααααααα αααα»α R: data.table
Π data.table
ααΆααα»αααΆααααααΆαααααα»ααα·αααααα fread()
.
αααα»ααααα»ααα·αααααααα αααα»ααααα αα R: data.table
# install.packages("data.table")
library(data.table)
## data.table
ga_nov <- fread("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_nowember.csv")
ga_dec <- fread("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_december.csv")
titanic <- fread("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/titanic.csv")
αααα»ααααα»ααα·αααααααα αααα»α Python: pandas
ααααα·αααΎααΎαααααααααααΆαα½ααααα
αα R ααααααα»αααααΈαααααΆαααααααααααααΊαα
αα·ααααα»αα pandas
ααΉαααΆα readr
, αααααΆααα pandas
α’αΆα
ααααΎαα»ααα·ααααααααΈααααααα·αααΈ α αΎαααΆααα»αααΆααααα½ααΆαααΆααααΌααα
αααα»ααααα
αααααα read_*()
.
read_csv()
read_excel()
read_sql()
read_json()
read_html()
αα·ααα»αααΆαααΆα
αααΎαααααααααααΌαααΆααα
ααΆα‘αΎαααΎααααΈα’αΆααα·ααααααααΈααααααααααααα ααα»αααααααααΆαααααααααααααααΎαααΆαααααααααΆααα αΎαα read_table()
α¬ read_csv()
αααααααΎα’αΆαα»ααααα αααααΆ ααΎααααΈαααααΆαααααααΆααααααα½αααα
αααα»ααααα»ααα·αααααααα αααα»α Python: pandas
import pandas as pd
ga_nov = pd.read_csv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/russian_text_in_r/ga_nowember.csv", sep = "t")
ga_dec = pd.read_csv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/russian_text_in_r/ga_december.csv", sep = "t")
titanic = pd.read_csv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/russian_text_in_r/titanic.csv")
ααΆααααααΎαααα»ααα·αααααα
αα» αα·α αα·ααααααΎααααα»αααΆαααΆααα½αα ααΆααα½ααααααααααααΆαα»αα’ααααααααΆαααααααααααα’αααααααΎαα
ααα»αααααααααΆααααΆααααα αΆαααΆααααααΆααααα½ααααα·ααααααααΆααααααΉααααααααα’αααααααΎα α’ααααα½αααααααΎαααααααΆααΆααααααΌααααα
ααΎααααΈααααΎααΌα αααα ααΎαααΉααααααΎαααααΌα αα½α ααΆααΆααααααΉαααΆαααααΉααα 2 αα½α (ααΌα αα·ααααααααα) αα·α 2 αα½ααααααααΆα
ααΆααααααΎα dataframe αααα»α R: tidyverse, dplyr
αααα»αα§ααΆα αααααΌαααΆαααααα ααΎααααααΎα dataframe αααα
ααααΆααααααααΎαα»αααΆα tibble()
.
ααΆααααααΎα Dataframe αααα»α R: dplyr
## dplyr
### ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ
gender <- tibble(id = c(1, 2),
gender = c("female", "male"))
ααΆααααααΎα dataframe αααα»α R: data.table
ααΆααααααΎα dataframe αααα»α R: data.table
## data.table
### ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ
gender <- data.table(id = c(1, 2),
gender = c("female", "male"))
ααΆααααααΎα Dataframe αα αααα»α Python: pandas
Π pandas
ααΆααααααΎαααα»αααααΌαααΆαα’αα»αααααααα»αααααΆααααΆαααΆα
αααΎα αααααααΌαααΎααααααΎααα
ααΆαα»αααα α αΎααααααΆααααααΎααααααααα
ααΆαα»αααααα
ααΆααα»ααα·ααααααα
ααΆααααααΎα Dataframe αα αααα»α Python: pandas
# ΡΠΎΠ·Π΄Π°ΡΠΌ Π΄Π°ΡΠ° ΡΡΠ΅ΠΉΠΌ
gender_dict = {'id': [1, 2],
'gender': ["female", "male"]}
# ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΡΠ»ΠΎΠ²Π°ΡΡ Π² Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌ
gender = pd.DataFrame.from_dict(gender_dict)
ααΆαααααΎαααΎααα½ααα
ααΆααΆααααα’αααααααΎααΆαααΆαα½αα’αΆα ααΆααα·ααααααααΆαααα·α α¬ααΆαααααα½αα ααα»ααααααΎααααΈα’αα»ααααααΆααα·ααΆαααΆαααα½αα’ααααα·αααααΌαααΆααα½αααααΆααα’αααααααΆααα αααα»αααΆααΆααααααααα
ααΌα αααα ααααα·ααααα·ααΆαααααΌααα½ααααα’αααααΉαα’αα»ααααααΆαα½αααΆααΆααααααααΊααΎααααΈαααααααΆααΈααααααΆαααααα·αα αΆαααΆα α αα·ααααααΎαα’αααα αα αΆααααααααααΆααααααΆααααΆααα
ααΆαααααΎαααΎααα½ααααααα»α R: tidyverse, dplyr
ααΆααααααααααα dplyr
ααΊαααααααα
ααΉαααΆααΆαααα½α SQL ααααα·αααΎα’αααααααΆααααΆ α’αααααΉαααααΎααΆααα
αΆαααααα
ααααααααΆαααΆαααα ααα
ααΎααααΈααααΎαααΎααα½ααα ααΌαααααΎαα»αααΆα select()
.
ααΆαααααααααααΆα§ααΆα αααααααΌααααα’αααα’αΆα ααααΎαααΎααα½αααααΆααα·ααΈααΌα ααΆααααααα
- ααΆαααααααα½ααααααααααΌαααΆα
- ααααα ααααααα½ααααααααααΎααααααααααααΆα
- ααΆααααααααα·αααααα α¬αααααααααααααα·αααααααααααα·αααααααααααΆααααα»ααα½ααα
ααΆαααααΎαααΎααα½ααααααα»α R: dplyr
# ΠΡΠ±ΠΎΡ Π½ΡΠΆΠ½ΡΡ
ΡΡΠΎΠ»Π±ΡΠΎΠ²
## dplyr
### Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ²
select(ga_nov, date, source, sessions)
### ΠΈΡΠΊΠ»ΡΡΡ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ²
select(ga_nov, -medium, -bounces)
### Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡΠΎΡΡΡ
Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π½Π° s
select(ga_nov, matches("s$"))
### Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ
select_if(ga_nov, is.integer)
ααΆαααααΎαααΎααα½ααααααα»α R: data.table
ααααα·ααααα·ααΆαααΌα
ααααΆαα
αααα»α data.table
ααααΌαβααΆαβα’αα»ααααβαα»αβααααΆβααααα·α
αα
βααΎαβα’αααααβαααβαααα»αβααΆαβαααααβααΆαβαα·αααααΆβα’αααΈβα’αΆαα»αααααβα’αααΈβαααβααΆαβαα
βαααα»αβααααααβααΆαααβαααα»α data.table
.
DT[i,j,by]
αα
ααΈααΆ:
αααα»α - ααααααααΆ, i.e. ααααααΆααα½α
j - ααααΎαααΎα|ααααΎαα
αα
α»ααααααααΆα|ααααΎ, i.e. ααααΎαααΎααα½ααααα·αααααααααα½αααΆ
ααα - αααα»ααα·αααααα
ααΆαααααΎαααΎααα½ααααααα»α R: data.table
## data.table
### Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ²
ga_nov[ , .(date, source, sessions) ]
### ΠΈΡΠΊΠ»ΡΡΡ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ²
ga_nov[ , .SD, .SDcols = ! names(ga_nov) %like% "medium|bounces" ]
### Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ga_nov[, .SD, .SDcols = patterns("s$")]
α’ααα .SD
α’αα»ααααΆαα±ααα’αααα
αΌαααααΎαα½αααααΆααα’αα αα·α .SDcols
αααααα½ααααααααααΌαααΆααααααααΎααααααααααααΆ α¬αα»αααΆαααααααααααΎααααΈααααααααααα½ααααααα’αααααααΌαααΆαα
ααΆαααααΎαααΎααα½ααααα αααα»α Python, pandas
ααΎααααΈααααΎαααΎααα½αααααΆαααααααααα»α pandas
ααΆαααααααααΆαααααα»αααΆαααααααααααΈααααααααααα½αααα α αΎαααΎααααΈααααΎαααΎα α¬αααα½αααααΆαααααααααααααΎααααααααααααΆ α’αααααααΌαααααΎαα»αααΆα drop()
ΠΈ filter()
, αα·αα’αΆαα»ααααα α’αααα = 1αααα’ααααααα αΆαααΆααΆα
αΆαααΆα
αααΎααααΈααααΎαααΆααα½αααααΆααΆααα½ααααα
ααΎααααΈααααΎαααΎαααΆααα½αααΆααααααααα·αααααα ααΌαααααΎαα»αααΆα select_dtypes()
αα·ααα
αααα»αα’αΆαα»ααααα αα½ααααα
αΌαααΆαα α¬ ααα
αα ααααααΆαααααααΈαααααααααα·αααααααααααααΌαααΉαααΆααααα’αααααααΌαααααΎαααΎαα
ααΆαααααΎαααΎααα½ααααα αααα»α Python: pandas
# ΠΡΠ±ΠΎΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ
ga_nov[['date', 'source', 'sessions']]
# ΠΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ
ga_nov.drop(['medium', 'bounces'], axis=1)
# ΠΡΠ±ΡΠ°ΡΡ ΠΏΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ga_nov.filter(regex="s$", axis=1)
# ΠΡΠ±ΡΠ°ΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ
ga_nov.select_dtypes(include=['number'])
# ΠΡΠ±ΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ
ga_nov.select_dtypes(include=['object'])
αααααα½α
α§ααΆα ααα ααΆααΆααααααα’αΆα ααΆααα·ααααααααΆα αααΎαααααΆα ααα»ααααα’αααααααΆααααααααΌααα·ααΆαααα α»ααααααααα»αααααα ααΆααααΈααααααα αααααΆααααααααααΉααααααααααΎαααΆαααααΎαααΆααα·αααααα αα·αααααα’αααα αα αΆααα»αααααΌαααα
ααααααα½ααααα»α R: tydyverse, dplyr
Π dplyr
αα»αααΆααααααααΌαααΆαααααΎααΎααααΈαααααα½α filter()
. ααΆααααα»ααα·ααααααααΆα’αΆαα»αααααααααΌα αααααΆααααα’αααααΆααααααΈαααααααααααααα
αα ααααααααααααααα‘αΌααΈααααΎααααΈααααααΆααΆα αααα»αααααΈααα αααααΆααααααααα½ααααααααααΆααααααΆαααααα αα·αααααα·ααααααΆααααααααΆααΆαα
αα αααααααΎααααααα‘αΌααΈααα αααΎαααΎααααΈαααα ααΌαααααΎαααααΆαααααΆααα·ααΈααΆααααααα
- & α¬αααααΆααααα - α‘αΌααΈαα AND
- | - α‘αΌααΈαα OR
ααααααα½ααααα»α R: dplyr
# ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ
## dplyr
### ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ
filter(ga_nov, source == "google")
### ΡΠΈΠ»ΡΡΡ ΠΏΠΎ Π΄Π²ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈ
filter(ga_nov, source == "google" & sessions >= 10)
### ΡΠΈΠ»ΡΡΡ ΠΏΠΎ Π΄Π²ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ»ΠΈ
filter(ga_nov, source == "google" | sessions >= 10)
αααααα½ααααα»α R: data.table
ααΌα
ααααααα»αααΆααααααααΆαααΎαα½α
α αΎααα
αααα»α data.table
ααΆαααααααααααααααααααα·ααααααααααΌαααΆααα»αααααααααα»αααααααααΆαααα
DT[i,j,by]
αα
ααΈααΆ:
αααα»α - ααααααααΆ, i.e. ααααααΆααα½α
j - ααααΎαααΎα|ααααΎαα
αα
α»ααααααααΆα|ααααΎ, i.e. ααααΎαααΎααα½ααααα·αααααααααα½αααΆ
ααα - αααα»ααα·αααααα
α’αΆαα»αααααααααΌαααΆαααααΎααΎααααΈαααααα½α iαααααΆαααΈααΆααααααΌααααα»αααααααααΆαααα
αα½αααααααΌαααΆαα αΌαααααΎαααα»αααααααα‘αΌααΈαααααααααΆααααααΆαααααα αα·αααααα·ααααααΆαααααααααΆααΆαα
ααααααα‘αΌααΈααααΊααΆααααααααΆαα
αα·ααα
ααααΆαααααααΌα
ααααΆααΉααα
αααα»α dplyr
ααΆααααααααα·ααααα·αα & αα·α | α
αααααα½ααααα»α R: data.table
## data.table
### ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ
ga_nov[source == "google"]
### ΡΠΈΠ»ΡΡΡ ΠΏΠΎ Π΄Π²ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈ
ga_nov[source == "google" & sessions >= 10]
### ΡΠΈΠ»ΡΡΡ ΠΏΠΎ Π΄Π²ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ»ΠΈ
ga_nov[source == "google" | sessions >= 10]
ααααααααα’αααααα αααα»α Python: pandas
ααααααΆααα½ααααα»α pandas
ααααααααΉαααΆααααα data.table
α αΎαααααΌαααΆαααααΎαααα»αααααααααΆαααα
αααα»αβααααΈβααα ααΆαβα
αΌαβαα
βααΆααβαα½αβααβααααΌαβααΆαβα’αα»ααααβααΆβα
αΆαααΆα
αβαααβααΆαβαααα αΆαβαααααβαα dataframe αααααΆααβααβαααααβαα½αβααβααβα’αΆα
βααααΌαβααΆαβαααα αΆαβαααα»αβαααααΆβααααααβαααα»αβααααααβααΆααα (α§ααΆα ααα df['col_name']
) α¬αααααααΆααααααααααααΆααααΈαααααα (α§ααΆα ααα df.col_name
).
ααααα·αααΎα’αααααααΌαααΆααααα dataframe αααααααααααααΆα
αααΎα ααααααααααΈαα½ααααααΌαααααΆαααααα»αααααααα
αα ααααααααα‘αΌααΈααααααΌαααΆαααααΆααααααΆαα
αα·ααα
αααααααααα·ααααα·αα &
ΠΈ |
.
ααααααααα’αααααα αααα»α Python: pandas
# Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ ΡΠ°Π±Π»ΠΈΡΡ
### ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ
ga_nov[ ga_nov['source'] == "google" ]
### ΡΠΈΠ»ΡΡΡ ΠΏΠΎ Π΄Π²ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈ
ga_nov[(ga_nov['source'] == "google") & (ga_nov['sessions'] >= 10)]
### ΡΠΈΠ»ΡΡΡ ΠΏΠΎ Π΄Π²ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ»ΠΈ
ga_nov[(ga_nov['source'] == "google") | (ga_nov['sessions'] >= 10)]
ααΆαααΆααααΆαααα»α αα·αααΆααααααΌααααα»ααα·αααααα
ααααα·ααααα·ααΆααα½ααααα»αα ααααααααα·ααααα·ααΆααααααααΎααΆααΌαα αααα»ααααα»αααΆααα·ααΆααα·ααααααααΊααΆαααΆααααΆαααα»α αα·αααΆααααααΌααααα»αα
ααΆααααααααααααααααΆααα’αα»ααααααααα·ααααα·ααΆαααΆαααααααααΌαααΆαααα αΆααααα αΆααα ααΌααΆαααααα ααααΆααα’αααααααΎααα·αα·αααααΎαα
αααα»αααααΈααα ααΎαααΉαααΎααα dataframe ααΆα§ααΆα ααα αα·α αα·αα αΎαααααΆα ααα½α αα·αααααααααα»αααααΆαααααα’αΆαααααααΎααααΆααααΆαααΈαα
ααΆαααΆααααΆαααα»α αα·αααΆααααααΌααααα»ααα·αααααααααα»α R: tidyverse, dplyr
Π dplyr
αα»αααΆαβααααΌαβααΆαβααααΎβαααααΆααβααΆαβααΆααβααΆβαααα»α group_by()
αα·ααααααΆααααΆααααααΌααααα»α summarise()
. ααΆααα·ααα
dplyr
ααΆααααα½ααΆαααΆααααΌααααα»αααΆα summarise_*()
ααα»αααααααααααααα’ααααααααααΊααΎααααΈααααααααααΆαααααααααααααΌαααααΆα ααΌα
ααααααΎαααΉααα·αα
αΌααα
αααα»αααααααααααααα
αα»αααΆααααααΌααααα»αααΆααΌαααααΆαα
sum()
- ααααααmin()
/max()
- αααααα’αααααααΆ αα·αα’αα·ααααΆmean()
- αααααmedian()
- αααααlength()
- ααα·ααΆα
ααΆαααΆααααΆαααα»α αα·αααΆααααααΌααααα»ααα αααα»α R: dplyr
## dplyr
### Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ ΡΡΡΠΎΠΊ
group_by(titanic, Pclass) %>%
summarise(passangers = length(PassengerId),
avg_price = mean(Fare))
ααΎααααΈααααΎαααΆα group_by()
ααΎαααΆαααααααΆααααΆααΆαααΆα’αΆαα»αααααααααΌα αα·α
αα·αα αΎααααααΆααααααΆαα
ααα’α»ααααα αΆαααΆα PclassαααααΎαααΉαααΆααααΆαααα»αααΆααΆαααααααΎαα ααααααααααααα·ααααα·ααΆαααααααααααΎααααα·ααααα·αα %>%
ααΆαααααααΆααααΆα’αΆαα»αααααααααΌαα
αααααα»αααΆα summarise()
αα·αααΆαααααααααΆαα
ααα½α 2 αααααααααα α’αααααααΎα ΠΈ αααααααΆααααα. ααΈαα½ααααααααΎαα»αααΆα length()
ααΆαααααΆα
ααα½ααααα»ααα α αΎααα
αααα»αααΈααΈααααααααΎαα»αααΆα mean()
ααΆαααα½αααααααααα»αααααΆαααααα
ααΆαααΆααααΆαααα»α αα·αααΆααααααΌααααα»ααα·αααααααααα»α R: data.table
Π data.table
α’αΆαα»αααααααααΌαααΆαααααΎαααααΆααααΆααααααΌααααα»α j
αααααΆαααΈααΆααααΈααΈααα
αααα»αααααααααΆααα αα·ααααααΆααααΆαααΆααααΆαααα»α by
α¬ keyby
αααααΆααααααααΈααΈα
αααααΈαααα»αααΆααααααΌααααα»ααααα»αααααΈαααααΊααΌα
ααααΆααααα·ααα
ααΉαα’αααΈαααααΆααα·αααααΆαα
αααα»α dplyr
, αααααΆααα ααΆαααααααΊααΆαα»αααΆαααΈααΆααααααααααα R ααΌαααααΆαα
ααΆαααΆααααΆαααα»α αα·αααΆααααααΌααααα»ααα αααα»α R: data.table
## data.table
### ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ
titanic[, .(passangers = length(PassengerId),
avg_price = mean(Fare)),
by = Pclass]
ααΆαααΆααααΆαααα»α αα·αααΆααααααΌααααα»ααα·αααααααα αααα»α Python: pandas
ααΆαααΆααααΆαααα»α pandas
αααααααα
ααΉα dplyr
ααα»ααααααΆααααααΌααααα»ααα·αααααααααΉα dplyr
αα·ααα
ααΎ data.table
.
ααΎααααΈααΆααααΆαααα»α ααΌαααααΎαα·ααΈααΆααααα groupby()
αααα’αααα
αΆαααΆα
αααααΌαααααααΆαααααααΈαα½ααααααααα»ααα·ααααααααΉαααααΌαααΆαααΆααααΆαααα»αα
αααααΆααααΆααααααΌααααα»αα’αααα’αΆα
ααααΎαα·ααΈααΆααααα agg()
αααααα½ααααα
ααΆαα»ααααα ααααΆααα
α»α
αα
ααΆαα»ααααααΊααΆαα½ααααααα’αααααΉαα’αα»αααααα»αααΆααααααΌααααα»α α αΎααααααααΊααΆααααααααα»αααΆααααααΌααααα»αα
αα»αααΆααααααΌααααα»αα
sum()
- ααααααmin()
/max()
- αααααα’αααααααΆ αα·αα’αα·ααααΆmean()
- αααααmedian()
- αααααcount()
- ααα·ααΆα
αα»αααΆα reset_index()
αααα»αα§ααΆα αααααΆααααααααΆααααΌαααΆαααααΎααΎααααΈααααααα·αα·αααααααααΆαααΆααα‘αΎααα·ααααα pandas
ααααΆαααΎααααααΆααααΈααΆααααααΌααααα»ααα·ααααααα
αααΈα α’αα»ααααΆαα±ααα’αααααααΆααααΈαα
αααααΆαααααααΆααα
ααΆαααΆααααΆαααα»α αα·αααΆααααααΌααααα»ααα αααα»α Python: pandas
# Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ
titanic.groupby(["Pclass"]).
agg({'PassengerId': 'count', 'Fare': 'mean'}).
reset_index()
ααΆαααααΆαααααααααααΆααΆα
ααααα·ααααα·ααΆααααα’αααα αΌααα½αααΆααΆαααΈα α¬α αααΎααααα ααΆααααααααααΌα ααααΆα αα·αααααααααααΎααααα»αααΆαααΆααΆα ga_nov ΠΈ ga_dec. ααΆααΆαααΆαααααααΊααΌα ααααΆααααα·ααα αααα»ααα ααΆαααααααα, i.e. ααΆααα½αααααΌα ααααΆ αα·ααααααααα·αααααααα αααα»ααα½αααααΆαααααα
αααααΊααΆααΆααααα ααααΈ Google Analytics αααααΆαααααα·α ααα·ααΆ αα·αααααΌ αα αααα»ααααααααα ααΎαααΉααααα αΌααα·ααααααααααα αααα»αααΆααΆααααα½αα
ααΆαααααΆααααΆααΆαααααααααα»α R: tidyverse, dplyr
Π dplyr
α’αααα’αΆα
αααα
αΌαααααΆααΌαααΆααΆαα
ααα½α 2 α
αΌααα
αααα»ααα½ααααααααΎαα»αααΆα bind_rows()
ααααααΆααααΆααΆααααααΆα’αΆαα»αααααααααααΆα
ααααααα½ααααα»α R: dplyr
# ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ
## dplyr
bind_rows(ga_nov, ga_dec)
ααΆαααααΆααααΆααΆαααααααααα»α R: data.table
ααΆαα·αααΆαα’αααΈαααα»αααααΆααα αααααααΎ rbind()
.
αααααα½ααααα»α R: data.table
## data.table
rbind(ga_nov, ga_dec)
ααΆαααααΆααααΆααΆαααααααα αααα»α Python: pandas
Π pandas
αα»αααΆαααααΌαααΆαααααΎααΎααααΈααααΆααααΆααΆα concat()
αααα’αααα
αΆαααΆα
αααααΌαααααααΆαααααααΈααααα»αααΎααααΈαααααα½αααΆα
ααααααααα’αααααα αααα»α Python: pandas
# Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ
pd.concat([ga_nov, ga_dec])
ααΆαααααΆαααααααααααΆααΆα
ααααα·ααααα·ααΆαααααα½αααααΈααΈααΈαααααΌαααΆααααααααα ααΆααΆαααΈαα½ααααααααΆααα α»α α ααΆααααΌαααΆαααααααΎααΆααΉαααΆαααα ααααααααΉαααΆααΆαααΆααα·α (α§ααΆα αααααΆααΆααααααΆααα·ααααααααα) ααΆαα½αααΉααα·ααααααααααα½αα ααα½α (α§ααΆα ααα αααααααααα·ααα)α
ααΆαααααααααΆα αααΎαααααΆαα αΌααα½αα
αα αααα»αααΆααΆααααααΆααααα»αααΈαα»α αα·α αα·α ααΎαααΆααα½ααααα½αα ααΆααα½αααααααααααΌαααΉααααααΌααααααααα’αααααααΎαα
α‘-ααααΈ
α’-βαα»αα
ααΌα ααααΆααααααααααΎαααΆααααααΎαααΆααΆααα½α - ααααα ααα αααααα. αααααΆααααΆααααα αΆαααΆααααααΆααααα½ααααα·ααααααααααΈααΈαααααααα’αααααααΎα ααΎαααααΌαααααααααααααααααΈαα αααααα αα αα» αα·α αα·α.
ααΆααΆααααααα αΌααα½ααα αααα»α R: tidyverse, dplyr
Π dplyr
ααΆααααα»ααααα½ααΆαααΆααααΌααααα»αααΆααααααΆααααΆαααααΆααααααα:
inner_join()
left_join()
right_join()
full_join()
semi_join()
nest_join()
anti_join()
ααααΎααΆααΌαα
αααα»ααα
αααα»αααΆαα’αα»αααααααααααα»αααΊ left_join()
.
ααΌα α’αΆαα»αααααααΈαααααΌα αα»αααΆααααααΆαααΆαααΆαααΎααααΆααΆαααΈαααΎααααΈα αΌααα½α α αΎαααΆα’αΆαα»αααααααΈααΈ by α’αααααααΌααααααααΆαααα½αααααΎααααΈα αΌααα½αα
ααΆααΆααααααα αΌααα½ααα αααα»α R: dplyr
# ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ
left_join(titanic, gender,
by = c("Sex" = "id"))
ααΆαααααΆαααααααααααΆααΆααααα»α R: data.table
Π data.table
α’αααααααΌαα
αΌααα½αααΆααΆααααααααΆααα
α»α
αααααααΎαα»αααΆα merge()
.
α’αΆαα»αααααααΎααααΈαααα αΌαααααΆ () αα»αααΆααα αααα»α data.table
- x, y β ααΆααΆααααααΆααα αΌααα½α
- by β αα½ααααααααΆαααααΉαααΎααααΈα αΌααα½αααααα·αααΎααΆααΆααααααααΌα ααααΆαα αααα»αααΆααΆαααΆααααΈα
- by.x, by.y β αααααβαα½αβααβαααβααααΌαβαααα αΌαβααααΆ ααααα·αβααΎβαα½αβααΆβααΆαβαααααβαα»αβααααΆβαααα»αβααΆααΆα
- all, all.x, all.y β αααααα Join ααΆααα’ααααΉααααα‘αααα½αααΆααα’ααααΈααΆααΆαααΆααααΈα all.x ααααΌαααααΆαα ααΉαααααα·ααααα·ααΆα LEFT JOIN (ααΉααα»ααα½αααΆααα’ααααααΆααΆαααΈαα½α) all.y β ααααΌαααααΆαα ααΉα ααααα·ααααα·ααΆα RIGHT JOIN (ααΉααα»ααα½αααΆααα’ααααααΆααΆαααΈααΈα)α
ααΆαααααΆαααααααααααΆααΆααααα»α R: data.table
# ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ
merge(titanic, gender, by.x = "Sex", by.y = "id", all.x = T)
ααΆααΆααααααα αΌααα½ααα αααα»α Python: pandas
ααααΌα
ααΆαα
αααα»α data.table
αα
pandas
αα»αααΆαααααΌαααΆαααααΎααΎααααΈααααΆααααΆααΆα merge()
.
α’αΆαα»ααααααααα»αααΆααααα αΌαααααΆ () αα αααα»ααααααΆ
- αααα - ααααααααΆααααααΆααα ααααα ααααΆα ααΆααααα ααΆααααα»α
- ααΎ β αα½αβααβαααβααΆβααΌαααβααααα·αβααΎβααΆβααΆαβαααααβααΌα ααααΆβαααα»αβααΆααΆαβααΆααααΈα
- left_on, right_on β αααααβαα½αβααβαααααΉα ααααα·αααΎβαα½αααβααΆαβαααααβαα»αβααααΆβαααα»αβααΆααΆα
ααΆααΆααααααα αΌααα½ααα αααα»α Python: pandas
# ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ ΠΏΠΎ ΠΊΠ»ΡΡΡ
titanic.merge(gender, how = "left", left_on = "Sex", right_on = "id")
αα»αααΆααααα’α½α ααΌαααααΆα αα·ααα½αααααααΆ
αα»αααΆα Window ααΆαα’ααααααααααααααααΆαα ααΉααα»αααΆααααααΌααααα»α α αΎαααααααΌαααΆαααααααΎααΆααΉαααΆαααααα»αααΆααα·ααΆααα·αααααααααααα ααα»αααααα·αααΌα αα»αααΆααααααΌααααα»ααα αα»αααΆααααα’α½α αα·αααααΆααααααΌαα ααα½ααα½ααααααααα»ααα·αααααααααα αααααααα
ααΆααααΆαα αααααααΎαα»αααΆααααα’α½α ααΎααααααααα»ααα·ααααααα αΌαααΆααααααααΆααααααααα·αα·α αααααα½αα ααα½α αααααΊα§α ααααααααααααΆααα½α α¬ααΆαααΆα αααΎαα α αΎαααΎαααααΎααααα·ααααα·ααΆαααααααααα ααΎαααα’α½α ααΈαα½ααα ααααααααααααα·ααααα·ααΆαααΆαααααααΉααααααααααα·ααααα»ααααααΆααααΈαα½αα i.e. ααααα·αααααΆααααααΌαα ααα½ααα½ααααααα»ααααα»αααΆααΆαα
ααΆα§ααΆα ααα α αΌαααΎαααααΆααΆα αα·α αα·α. ααΎαα’αΆα ααααΆααΆαααΆααΎααααααααα»αααααΈαα½ααααΆαααα»ααααΆαααΆααααα αααα»αααααΆααααΆαααΈαααααααΆα
ααΎααααΈααααΎααΌα αααα ααΎαααααΌαααα½αααΆααααα»ααα½ααα½αααΈαα½ααααΌαααααααααα»αααααα»ααααααΆααααααΆααααΆαααΈααα αα α»αααααα ααααααα»ααααααα»ααα½ααααααΆαααααα·αααα· αααααΆαααααααα αααααααααα»αααααΈαα½ααααααααααααα»ααααααα»αααααΆααα’ααααααααΆααααΆαααΈαααΌα ααααΆ .
αα»αααΆααααα’α½α αα αααα»α R: tidyverse, dplyr
ααΎααααΈβααααααβαα½αβααβααααΈ αααβαα·αβααααΎβααΆαβααΆααβααΆβαααα»αβαα½αβααα α
αΌα dplyr
αααααΎαα»αααΆα mutate()
.
α’αααα’αΆα αααααααΆααααα αΆαααααΆααα·αααααΆααΆαααΎαααααΆαααΆαααα·ααααααααΆαααα»αααΆαααΆα Pclass α αΎαβααΌαβαααα αΌαβααΆαβαααα»αβαα½αβααβααααΈα αααααααα½αα. αααααΆααβαα αααβααΆααΆαβααΆβαααα»α α αΎαβαααα ααβαααααβααΆα αααααααα½αα αα ααΉαα’αααΈαααααΆαααΎαα‘αΎααα αααα»αααα αΆααα»αα
αα»αααΆααααα’α½α αα αααα»α R: dplyr
group_by(titanic, Pclass) %>%
mutate(Pclass_cost = sum(Fare)) %>%
ungroup() %>%
mutate(ticket_fare_rate = Fare / Pclass_cost)
αα»αααΆα Window αααα»α R: data.table
αααα½ααααααααΆααααααααααΆααα
ααααααααΌα
αα
αααα»α dplyr
ααΎαααααΌααααααααΆααΆααα
ααΆ windows ααΆαααΆα Pclass. αααα
αΌααααα»ααα½αααααααΈααΌαα
ααα½ααααααΆαααααα»ααααααααΌαααααΆααΉααα½αααΈαα½αα α αΎααααααααα½ααααααααΎαααααΆα
αααααααααααααα»αααααΈαα½αααα
αααα»ααααα»αααααααΆα
ααΎααααΈαααααααα½αααααααΈαα
data.table
ααααα·ααααα·ααααΆαααααααΆα :=
. ααΆαααααααααααΆα§ααΆα αααααααΆααααααααΆααααα αΆαααααααΎαααα
αα data.table
αα»αααΆα Window αααα»α R: data.table
titanic[,c("Pclass_cost","ticket_fare_rate") := .(sum(Fare), Fare / Pclass_cost),
by = Pclass]
αα»αααΆα Window αα αααα»α Python: pandas
αα·ααΈαα½αααΎααααΈαααααααα½αααααααΈαα
pandas
- ααααΎαα»αααΆα assign()
. ααΎααααΈααααααααααααααα»αααααΆαααααΆααααΆαααΈα ααααα·αααΆα
αααΆαααα½α ααΎαααΉαααααΎαα»αααΆα transform()
.
ααΆαααααααααααΆα§ααΆα ααααααααααααααΆααααααΎααααααααα αααα»αααΆααΆα αα·α αα·α ααΌα ααααΆ 2 αα½αα
αα»αααΆα Window αα αααα»α Python: pandas
titanic.assign(Pclass_cost = titanic.groupby('Pclass').Fare.transform(sum),
ticket_fare_rate = lambda x: x['Fare'] / x['Pclass_cost'])
αα»αααΆα αα·ααα·ααΈααΆααααα ααΆααΆαααααΎααααα
ααΆαααααααααααΊααΆααΆααΆαααααΆαααααΎααααααααΆααα·ααΈααΆααααααααααΆααα’αα»ααααααααα·ααααα·ααΆαααααααααΆαα½αααΉααα·αααααααα αααα»ααααα αααααααΎαααΆααα·α αΆαααΆα
ααα·ααΆα
tidyverse
ααΆααΆααα·αααααα
ααααΆαααα»ααααααΆ
αααα»ααααα»ααα·αααααα
vroom()
/ readr::read_csv()
/ readr::read_tsv()
fread()
read_csv()
ααΆααααααΎαααα»ααα·αααααα
tibble()
data.table()
dict()
+ from_dict()
ααΆαααααΎαααΎααα½ααα
select()
α’αΆαα»ααααα jααΈααΆααααΈααΈααα
αααα»αααααααααΆααα
ααΎαααααααΆαααααααΈαααα½ααααααααααΌαααΆααα
αααα»αααααααααΆααα / drop()
/ filter()
/ select_dtypes()
αααααα½α
filter()
α’αΆαα»ααααα iααΈααΆααααααΌααααα»αααααααααΆααα
ααΎαααΆααααααΈαααααααααααααααα»αααααααααΆααα / filter()
ααΆαααΆααααΆαααα»α αα·αααΆααααααΌααααα»α
group_by()
+ summarise()
α’αΆαα»ααααα j + by
groupby()
+ agg()
ααΆααα½ααα½αααααΆααΆαααααα (UNION)
bind_rows()
rbind()
concat()
ααΆαααααΆααααΆααΆαααααα (α
αΌααα½α)
left_join()
/ *_join()
merge()
merge()
αα»αααΆααααα’α½α
ααΌαααααΆα αα·ααααααααα½ααααααααΆαααααΆ
group_by()
+ mutate()
α’αΆαα»ααααα j αααααααΎααααα·ααααα·αα :=
+ α’αΆαα»ααααα by
transform()
+ assign()
ααα ααααΈααααα·ααααΆα
αααα ααααΆαα αααα»αα’αααααααααααα»αααΆααα·αααααΆαα·ααααααΆααΆαα’αα»ααααααααα’αααααΎααααα»αααααααΎαααΆααα·αααααα ααΌα αααααααα»αααΉαααΈαααΆαααααα·αααΎα’αααααααα α»ααααααααα»ααα αααα»αααα·ααααα α¬ααααΆααααααααααααααααΆααααααΆααααααα±αααααα»αα’αααααααΆαα½αααΉααα αα ααααααααααααααααααΆααααααΎααΆαααΆαα½ααα·αααααααα αααα»α R / Python α
ααΌα ααααααα»αααΆααααααααΆαααΎ αααααααααα’αααααααΊαα·ααααααΎααααΈααΆαααααα·αααααααα»αααααααΆααααΆααΆααΆαα½αααΆααα’ααΆαααααα ααα»ααααααΎααααΈααααα½ααααα±ααΆααααα»αααΆααααααΆααΆααΆααααΈα α¬ααΎα αΆαααΆα α ααααΆααααααΌααααΆααα½αααΆα
ααααα·αααΎα’αααα
αΌαα
α·αααα’ααααα αααα»αααΉαααΈαααΆααααααΆαα’αααααΆαααααΈαααααααα»α
ααΆααααααααα·
ααΎαααα ααααΆαααααααα½αααΆαααα’αααααααΎαααα»αααΆαααΆαααααα’ααα?
αα αααα»αααα·ααααα α’αααα’αΆα αααααα ααα»αααααααΆαααααααΎαααααα’αααα
ααΆαααα’αααααααΎααααΆαααααααΆαα
α»ααααααααα»ααααααααα’αΆα
α
αΌααα½ααααα»αααΆααααααααα·αααα
ααΎαααα ααααααΎαααΆααα·ααααααααΆαααα’αααααααΎ (α’αααα’αΆα ααααΎαααΎααααααΎαααΆα αααΎα)
-
45,2%ααΆαααα’αΆαααα’α α‘α©
-
33,3%data.table14
-
54,8%ααααΆαααα»ααααααΆ α’α£
α’αααααααΎααααΆαα 42 ααΆααααΆαααααααααα α’αααααααΎααααΆαα α§α¨ ααΆααααααΌαααΆαα αΆαααΆααα
ααααα: www.habr.com