Π’ΡΡΡΠ΅ΠΉΠΊΠΈ R ΠΈΠ»ΠΈ Python Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΊΠΈΠ»ΠΎΠΌΠ΅ΡΡΠΈ Π΄ΠΈΡΠΊΡΡΠΈΠΈ Π½Π° ΡΠ΅ΠΌΠ° ΠΊΠΎΠΉ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΡ, ΠΏΠΎ-Π±ΡΡΠ· ΠΈ ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π΅Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΠΈ. ΠΠΎ Π·Π° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΠΎΡΠΎΠ²Π΅ Π½Π΅ ΡΠ° ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ.
Π¦Π΅Π»ΡΠ° Π½Π° ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ Π΅ Π΄Π° ΡΡΠ°Π²Π½ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° Π΄Π²Π°ΡΠ° Π΅Π·ΠΈΠΊΠ°. Π ΠΏΠΎΠΌΠΎΠ³Π½Π΅ΡΠ΅ Π½Π° ΡΠΈΡΠ°ΡΠ΅Π»ΠΈΡΠ΅ Π±ΡΡΠ·ΠΎ Π΄Π° ΠΎΠ²Π»Π°Π΄Π΅ΡΡ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π·Π½Π°ΡΡ. ΠΠ° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΈΡΠ°Ρ Π½Π° Python, ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΡΡΠΎΡΠΎ Π½Π΅ΡΠΎ Π² R ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π½Π° Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π² R. Π’ΠΎΠ²Π° ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° tidyverse
Π° ΡΡΡΠΎ ΠΈ ΠΎΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°ΡΠ° data.table
. Π ΡΡΠ°Π²Π½Π΅ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈΠΌ Ρ pandas
, Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π°Π½Π½ΠΈ Π² Python.
Π©Π΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΡΡΡΠΏΠΊΠ° ΠΏΠΎ ΡΡΡΠΏΠΊΠ° ΠΏΡΠ΅Π· ΡΠ΅Π»ΠΈΡ ΠΏΡΡ Π½Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΠΈΠΌ Π΄ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Python ΠΈ R.
Π‘ΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅
Π’Π°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΌΠ°ΠΌΠ΅Π½ Π»ΠΈΡΡ, Π°ΠΊΠΎ ΡΡΠ΅ Π·Π°Π±ΡΠ°Π²ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·Π²ΡΡΡΠΈΡΠ΅ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈ Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ R ΠΈ Python
1.1.ΠΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°
1.2.ΠΡΠ·Π»Π°Π³Π°Π½Π΅
1.3.ΠΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½Π΅ΡΠΎ
1.4.ΠΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΠΠΠ
1.5.Π’ΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ
1.6.Π‘ΡΡΡΠΊΡΡΡΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΠΌΠΈ Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅
2.1.ΡΠΈΠ΄ΠΈΠ²Π΅ΡΡ
2.2.ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π΄Π°Π½Π½ΠΈ
2.3.ΠΏΠ°Π½Π΄ΠΈ ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΠ°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ°Π΄ΡΠΈ Ρ Π΄Π°Π½Π½ΠΈ ΠΠ·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅, ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠ΅ Π€ΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ ΠΡΡΠΏΠΈΡΠ°Π½Π΅ ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ ΠΠ΅ΡΡΠΈΠΊΠ°Π»Π½ΠΎ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈ (UNION) Π₯ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈ (JOIN) ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΡΠ΅ΠΌΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π’Π°Π±Π»ΠΈΡΠ° Π½Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ Π² 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 ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½ΠΎΡΠ°ΡΠΈΡ ΡΠ΅ Π²ΡΡΠ½Π΅ ΡΠ°ΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π΅Π»Π΅ΠΌΠ΅Π½Ρ.
ΠΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΠΠΠ
R ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° OOP ΠΏΠΎ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π½Π°ΡΠΈΠ½, ΠΏΠΈΡΠ°Ρ
Π·Π° ΡΠΎΠ²Π° Π² ΡΡΠ°ΡΠΈΡΡΠ° tydiverse
ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ ΠΎΡ pandas
. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΌΠΎΠ΅ ΡΡΠ±Π΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅.
ΠΠ°ΠΊΡΠ°ΡΠΊΠΎ, ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ Π² R Π½ΡΠΌΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈ (Π°ΠΊΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° S3 ΠΊΠ»Π°ΡΠΎΠ²Π΅, Π½ΠΎ ΠΈΠΌΠ° Π΄ΡΡΠ³ΠΈ ΠΠΠ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΡΡΠ΄ΠΊΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈ). ΠΠΌΠ° ΡΠ°ΠΌΠΎ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΊΠ»Π°ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠ°.
Π’ΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ
ΠΠΎΠΆΠ΅ Π±ΠΈ ΡΠΎΠ²Π° Π΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° 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 <-
.
ΠΡΠΈΡΠΊΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅ Π΅ ΠΈΠ»ΡΡΡΡΠΈΡΠ°Π½ΠΎ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΠΎΡ Π΄ΡΠΌΠΈΡΠ΅ ΠΎΡ ΡΠΎΠ·ΠΈ ΠΌΠ΅ΠΌ:
Π 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
ΠΠ΄Π½ΠΎΠΌΠ΅ΡΠ΅Π½ ΡΠΏΠΈΡΡΠΊ ΠΎΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ
Π²Π΅ΠΊΡΠΎΡ
Π‘Π΅ΡΠΈΡ Π² pandas ΠΈΠ»ΠΈ ΡΠΏΠΈΡΡΠΊ Π² ΡΠΈΡΡ Python
ΠΠ½ΠΎΠ³ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π° Π½Π΅ΡΠ°Π±Π»ΠΈΡΠ½Π° ΡΡΡΡΠΊΡΡΡΠ°
ΡΠΏΠΈΡΡΠΊ
ΡΠ΅ΡΠ½ΠΈΠΊ (dict)
ΠΠΎ-Π΄ΠΎΠ»Ρ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈ Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°.
ΠΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΠΌΠΈ Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅
ΠΡΡΠ²ΠΎ, ΡΠ΅ Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ° ΠΌΠ°Π»ΠΊΠΎ Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, Ρ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΡΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ.
ΡΠΈΠ΄ΠΈΠ²Π΅ΡΡ
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ:
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° tidyverse
Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΎΡ Π₯Π΅Π΄Π»ΠΈ Π£ΠΈΠΊΡΠΌ, ΡΡΠ°ΡΡΠΈ Π½Π°ΡΡΠ΅Π½ ΡΡΡΡΡΠ΄Π½ΠΈΠΊ Π² RStudio. tidyverse
ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΠ²Π°Ρ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΠΏΡΠΎΡΡΡΠ²Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, 5 ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΠΏΡΡΠ²ΠΈΡΠ΅ 10 ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡ ΠΎΡ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° CRAN.
Π―Π΄ΡΠΎΡΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ: ggplot2
, dplyr
, tidyr
, readr
, purrr
, tibble
, stringr
, forcats
. ΠΡΠ΅ΠΊΠΈ ΠΎΡ ΡΠ΅Π·ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ dplyr
ΡΡΠ·Π΄Π°Π΄Π΅Π½ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, tidyr
Π·Π° ΠΏΡΠΈΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΡΠΈΡΡ Π²ΠΈΠ΄, stringr
ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ Π½ΠΈΠ·ΠΎΠ²Π΅ ΠΈ ggplot2
Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ.
ΠΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎΡΠΎ tidyverse
Π΅ ΠΏΡΠΎΡΡΠΎΡΠ°ΡΠ° ΠΈ Π»Π΅ΡΠ½ΠΈΡΡ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΊΠΎΠΉΡΠΎ Π² ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° Π·Π°ΡΠ²ΠΊΠΈ SQL.
ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π΄Π°Π½Π½ΠΈ
ΠΎΡ data.table
Π΅ ΠΠ°Ρ ΠΠΎΡΠ» ΠΎΡ H2O.ai.
ΠΡΡΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΠ΅ ΡΡΡΡΠΎΡ ΠΏΡΠ΅Π· 2006 Π³.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΠ΄ΠΎΠ±Π΅Π½, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π² tidyverse
ΠΈ Π½Π°ΠΏΠΎΠΌΠ½Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΊΠ°Π΄ΡΠΈ Ρ Π΄Π°Π½Π½ΠΈ Π² R, Π½ΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ.
ΠΡΠΈΡΠΊΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π² ΡΠΎΠ·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΈ ΡΠΊΠΎΠ±ΠΈ ΠΈ Π°ΠΊΠΎ ΠΏΡΠ΅Π²Π΅Π΄Π΅ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° data.table
Π² SQL ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ: data.table[ WHERE, SELECT, GROUP BY ]
Π‘ΠΈΠ»Π°ΡΠ° Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π΅ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΠΈ.
ΠΏΠ°Π½Π΄ΠΈ
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ:
ΠΠΌΠ΅ΡΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΈΠ΄Π²Π° ΠΎΡ ΠΈΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½ βΠΏΠ°Π½Π΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈβ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΎΡ pandas
Π΅ Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½Π΅ΡΡΡ Π£Π΅Ρ ΠΠ°ΠΊΠΊΠΈΠ½ΠΈ.
ΠΠΎΠ³Π°ΡΠΎ ΡΡΠ°Π²Π° Π²ΡΠΏΡΠΎΡ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π°Π½Π½ΠΈ Π² 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 ΡΡΠ΅ΡΡ readr
ΠΠ°ΠΊΠ²ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅?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 ΡΠ΅Π΄Π°.
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΊΠ° Ρ Π΄Π°Π½Π½ΠΈ Π² R: tidyverse, dplyr
Π ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° ΠΊΠΎΠ΄ ΠΏΠΎ-Π΄ΠΎΠ»Ρ ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΠΆΠ΅Π»Π°Π½Π°ΡΠ° ΡΠ°ΠΌΠΊΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° tibble()
.
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΊΠ° Ρ Π΄Π°Π½Π½ΠΈ Π² R: dplyr
## dplyr
### ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ
gender <- tibble(id = c(1, 2),
gender = c("female", "male"))
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΊΠ° Ρ Π΄Π°Π½Π½ΠΈ Π² R: data.table
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΊΠ° Ρ Π΄Π°Π½Π½ΠΈ Π² R: data.table
## data.table
### ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ
gender <- data.table(id = c(1, 2),
gender = c("female", "male"))
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΊΠ° Ρ Π΄Π°Π½Π½ΠΈ Π² Python: pandas
Π pandas
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΌΠΊΠΈ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΅ΡΠ°ΠΏΠ°, ΠΏΡΡΠ²ΠΎ ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΡΠ΅ΡΠ½ΠΈΠΊ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°ΠΌΠ΅ ΡΠ΅ΡΠ½ΠΈΠΊΠ° Π² ΡΠ°ΠΌΠΊΠ° Ρ Π΄Π°Π½Π½ΠΈ.
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΊΠ° Ρ Π΄Π°Π½Π½ΠΈ Π² 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 - ΠΊΡΠ΄Π΅ΡΠΎ, Ρ.Π΅. ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ ΠΏΠΎ ΡΠ΅Π΄ΠΎΠ²Π΅
j - ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅|update|do, Ρ.Π΅. ΠΈΠ·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈΠΌ
ΠΏΠΎ - Π³ΡΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ
ΠΠ·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π² 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()
, ΠΈ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ include ΠΈΠ»ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°ΠΌ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΏΠΈΡΡΠΊ Ρ ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ, ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠΈ Π½Π° ΠΏΠΎΠ»Π΅ΡΠ°ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅.
ΠΠ·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π² 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()
. Π’ΠΎΠΉ ΠΏΡΠΈΠ΅ΠΌΠ° ΡΠ°ΠΌΠΊΠ° Ρ Π΄Π°Π½Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΡΠ²ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·Π±ΡΠΎΡΠ²Π°ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡΡΠ° Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅.
ΠΠΎΠ³Π°ΡΠΎ ΠΏΠΈΡΠ΅ΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°, Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΠΏΠΎΡΠΎΡΠ΅ΡΠ΅ ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅ Π±Π΅Π· ΠΊΠ°Π²ΠΈΡΠΊΠΈ ΠΈ Π±Π΅Π· Π΄Π° Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°ΡΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°.
ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ:
- & ΠΈΠ»ΠΈ Π·Π°ΠΏΠ΅ΡΠ°Ρ - Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎ Π
- | - Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎ ΠΠΠ
Π€ΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ Π² 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 - ΠΊΡΠ΄Π΅ΡΠΎ, Ρ.Π΅. ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ ΠΏΠΎ ΡΠ΅Π΄ΠΎΠ²Π΅
j - ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅|update|do, Ρ.Π΅. ΠΈΠ·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈΠΌ
ΠΏΠΎ - Π³ΡΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ 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
, ΠΈ ΡΠ΅ ΠΏΡΠ°Π²ΠΈ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΈ ΡΠΊΠΎΠ±ΠΈ.
Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ΅Π· ΠΏΠΎΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° Ρ Π΄Π°Π½Π½ΠΈ; ΡΠΎΠ³Π°Π²Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°ΡΠ° ΠΌΠΎΠΆΠ΅ ΡΡΡΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ Π² ΠΊΠ°Π²ΠΈΡΠΊΠΈ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΈ ΡΠΊΠΎΠ±ΠΈ (ΠΏΡΠΈΠΌΠ΅Ρ df['col_name']
), ΠΈΠ»ΠΈ Π±Π΅Π· ΠΊΠ°Π²ΠΈΡΠΊΠΈ ΡΠ»Π΅Π΄ ΡΠΎΡΠΊΠ°ΡΠ° (ΠΏΡΠΈΠΌΠ΅Ρ df.col_name
).
ΠΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠΈΠ»ΡΡΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΊΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π²ΡΡΠΊΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΎ Π² ΡΠΊΠΎΠ±ΠΈ. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ ΡΡΠ΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ &
ΠΈ |
.
Π€ΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ Π² 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)]
ΠΡΡΠΏΠΈΡΠ°Π½Π΅ ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ
ΠΠ΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° Π΄Π°Π½Π½ΠΈ Π΅ Π³ΡΡΠΏΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ΡΠΎ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡΡ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΅ ΡΠ°Π·ΠΏΡΡΡΠ½Π°Ρ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅.
Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ΠΌ ΡΠ°ΠΌΠΊΠ° Ρ Π΄Π°Π½Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅ΡΠ΅ Π±ΡΠΎΡ ΠΈ ΡΡΠ΅Π΄Π½Π°ΡΠ° ΡΠ΅Π½Π° Π½Π° Π±ΠΈΠ»Π΅ΡΠΈΡΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΊΠ»Π°ΡΠ° Π½Π° ΠΊΠ°Π±ΠΈΠ½Π°ΡΠ°.
ΠΡΡΠΏΠΈΡΠ°Π½Π΅ ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² 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. Π’Π΅Π·ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ ΡΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ ΠΏΠΎ ΡΡΡΡΠΊΡΡΡΠ°, Ρ.Π΅. ΠΈΠΌΠ°Ρ Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ Π² ΡΠ΅Π·ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ.
Π’ΠΎΠ²Π° Π΅ ΠΊΠ°ΡΠ²Π°Π½Π΅ ΠΎΡ 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])
Π₯ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈ
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΎΡ Π²ΡΠΎΡΠ°ΡΠ° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ ΠΊΡΠΌ ΠΏΡΡΠ²Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° ΠΏΠΎ ΠΊΠ»ΡΡ. Π§Π΅ΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΈ ΠΎΠ±ΠΎΠ³Π°ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ° Ρ ΡΠ°ΠΊΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΡΠΎΠ΄Π°ΠΆΠ±ΠΈ) Ρ Π½ΡΠΊΠΎΠΈ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π½Π° Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡ).
ΠΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΠΈΠ΄Π° ΡΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ:
Π ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π°ΡΠ΅Π΄Π΅Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΈΡΠ°Π½ΠΈΡΠ΅Π½ ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΠΎΠ»ΠΎΠ½Π° ΡΠ΅ΠΊΡ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΠΏΠΎΠ»Π° Π½Π° ΠΏΡΡΠ½ΠΈΠΊΠ°:
1 - ΠΆΠ΅Π½ΡΠΊΠΈ
2 - ΠΌΡΠΆΠΊΠΈ
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΡΠ·Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ ΡΠ°Π±Π»ΠΈΡΠ° - ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎΠ». ΠΠ° ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ»Π° Π½Π° ΠΏΡΡΠ½ΠΈΡΠΈΡΠ΅, ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ»Π° ΠΎΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ» ΠΊΡΠΌ ΠΌΠ°ΡΠ°ΡΠ° ΡΠΈΡΠ°Π½ΠΈΡΠ΅Π½.
ΠΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ Π½Π° Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½Π° ΠΌΠ°ΡΠ° Π² 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()
.
ΠΡΠ³ΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΡΠ½ΠΊΡΠΈΡ merge() Π² data.table
- x, y β Π’Π°Π±Π»ΠΈΡΠΈ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅
- ΠΎΡ β ΠΠΎΠ»ΠΎΠ½Π°, ΠΊΠΎΡΡΠΎ Π΅ ΠΊΠ»ΡΡΡΡ Π·Π° ΠΏΡΠΈΡΡΠ΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅, Π°ΠΊΠΎ ΠΈΠΌΠ° Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ ΠΈΠΌΠ΅ Π² Π΄Π²Π΅ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ
- by.x, by.y β ΠΠΌΠ΅Π½Π° Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π·Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠΌΠ΅Π½Π° Π² ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅
- all, all.x, all.y β Π’ΠΈΠΏ Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅, all ΡΠ΅ Π²ΡΡΠ½Π΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅ ΠΎΡ Π΄Π²Π΅ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ, 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()
.
ΠΡΠ³ΡΠΌΠ΅Π½ΡΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° merge() Π² pandas
- ΠΊΠ°ΠΊ β Π’ΠΈΠΏ Π²ΡΡΠ·ΠΊΠ°: Π»ΡΠ²ΠΎ, Π΄ΡΡΠ½ΠΎ, Π²ΡΠ½ΡΠ½ΠΎ, Π²ΡΡΡΠ΅ΡΠ½ΠΎ
- on β ΠΠΎΠ»ΠΎΠ½Π°, ΠΊΠΎΡΡΠΎ Π΅ ΠΊΠ»ΡΡ, Π°ΠΊΠΎ ΠΈΠΌΠ° Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ ΠΈΠΌΠ΅ Π² Π΄Π²Π΅ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ
- left_on, right_on β ΠΠΌΠ΅Π½Π° Π½Π° ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠΌΠ΅Π½Π° Π² ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅
ΠΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ Π½Π° Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ Π² Python: pandas
# ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ ΠΏΠΎ ΠΊΠ»ΡΡΡ
titanic.merge(gender, how = "left", left_on = "Sex", right_on = "id")
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΡΠ΅ΠΌΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ
Π€ΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ° ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ ΠΈ ΡΡΡΠΎ ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΠΎ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅, ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ Π±ΡΠΎΡ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄ΡΡΠ°ΡΠ° ΡΠ°ΠΌΠΊΠ° Ρ Π΄Π°Π½Π½ΠΈ.
ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΡΡΠ° ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ, Π½ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠΌΠ΅ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΊΠ°Π΄ΡΡ Ρ Π΄Π°Π½Π½ΠΈ Π½Π° ΡΠ°ΡΡΠΈ ΡΠΏΠΎΡΠ΅Π΄ Π½ΡΠΊΠ°ΠΊΡΠ² ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ, Ρ.Π΅. ΠΏΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° Π΅Π΄Π½ΠΎ ΠΏΠΎΠ»Π΅ ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΠ»Π΅ΡΠ°. Π Π½ΠΈΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΌΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ. Π Π΅Π·ΡΠ»ΡΠ°ΡΡΡ ΠΎΡ ΡΠ΅Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ Π±ΡΠ΄Π΅ Π²ΡΡΠ½Π°Ρ Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ ΡΠ΅Π΄, Ρ.Π΅. Π±Π΅Π· ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΎΠ±ΡΠΈΡ Π±ΡΠΎΠΉ ΡΠ΅Π΄ΠΎΠ²Π΅ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΊΠ° Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΌΠ°ΡΠ°ΡΠ° ΡΠΈΡΠ°Π½ΠΈΡΠ΅Π½. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΠΌ ΠΊΠ°ΠΊΡΠ² ΠΏΡΠΎΡΠ΅Π½Ρ Π΅ ΡΠ΅Π½Π°ΡΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ Π±ΠΈΠ»Π΅Ρ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΊΠ»Π°ΡΠ° Π½Π° ΠΊΠ°Π±ΠΈΠ½Π°ΡΠ°.
ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ ΡΠ΅Π΄ ΠΎΠ±ΡΠ°ΡΠ° ΡΠ΅Π½Π° Π½Π° Π±ΠΈΠ»Π΅Ρ Π·Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΠΊΠ»Π°ΡΠ° Π½Π° ΠΊΠ°Π±ΠΈΠ½Π°ΡΠ°, ΠΊΡΠΌ ΠΊΠΎΡΡΠΎ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ Π±ΠΈΠ»Π΅ΡΡΡ Π² ΡΠΎΠ·ΠΈ ΡΠ΅Π΄, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ ΡΠ΅Π½Π°ΡΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ Π±ΠΈΠ»Π΅Ρ Π½Π° ΠΎΠ±ΡΠ°ΡΠ° ΡΠ΅Π½Π° Π½Π° Π²ΡΠΈΡΠΊΠΈ Π±ΠΈΠ»Π΅ΡΠΈ ΠΎΡ ΡΡΡΠ°ΡΠ° ΠΊΠ»Π°ΡΠ° Π½Π° ΠΊΠ°Π±ΠΈΠ½Π°ΡΠ° .
Π€ΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ° Π² 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)
ΠΡΠΎΠ·ΠΎΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² R: data.table
ΠΠ»Π³ΠΎΡΠΈΡΡΠΌΡΡ Π·Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π²Π° ΡΡΡΠΈΡΡ ΠΊΠ°ΡΠΎ Π² dplyr
, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ ΠΏΠΎ ΠΏΠΎΠ»Π΅ Pclass. ΠΠ·Π²Π΅Π΄Π΅ΡΠ΅ Π² Π½ΠΎΠ²Π° ΠΊΠΎΠ»ΠΎΠ½Π° ΡΡΠΌΠ°ΡΠ° Π·Π° Π³ΡΡΠΏΠ°ΡΠ°, ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ΅Π΄, ΠΈ Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½Π°, Π² ΠΊΠΎΡΡΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°ΠΌΠ΅ Π΄Π΅Π»Π° ΠΎΡ ΡΠ΅Π½Π°ΡΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ Π±ΠΈΠ»Π΅Ρ Π² Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π³ΡΡΠΏΠ°.
ΠΠ° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ Π½ΠΎΠ²ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΊΡΠΌ data.table
ΠΏΡΠΈΡΡΡΡΠ²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ :=
. ΠΠΎ-Π΄ΠΎΠ»Ρ Π΅ Π΄Π°Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° data.table
ΠΡΠΎΠ·ΠΎΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² R: data.table
titanic[,c("Pclass_cost","ticket_fare_rate") := .(sum(Fare), Fare / Pclass_cost),
by = Pclass]
ΠΡΠΎΠ·ΠΎΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python: pandas
ΠΠ΄ΠΈΠ½ ΠΎΡ Π½Π°ΡΠΈΠ½ΠΈΡΠ΅ Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ²Π° ΠΊΠΎΠ»ΠΎΠ½Π° ΠΊΡΠΌ pandas
- ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° assign()
. ΠΠ° Π΄Π° ΠΎΠ±ΠΎΠ±ΡΠΈΠΌ ΡΠ΅Π½Π°ΡΠ° Π½Π° Π±ΠΈΠ»Π΅ΡΠΈΡΠ΅ ΠΏΠΎ ΠΊΠ»Π°ΡΠ° Π½Π° ΠΊΠ°Π±ΠΈΠ½Π°ΡΠ°, Π±Π΅Π· Π³ΡΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° transform()
.
ΠΠΎ-Π΄ΠΎΠ»Ρ Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΠ΅ΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ ΠΊΡΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° ΡΠΈΡΠ°Π½ΠΈΡΠ΅Π½ ΡΡΡΠΈΡΠ΅ 2 ΠΊΠΎΠ»ΠΎΠ½ΠΈ.
ΠΡΠΎΠ·ΠΎΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python: pandas
titanic.assign(Pclass_cost = titanic.groupby('Pclass').Fare.transform(sum),
ticket_fare_rate = lambda x: x['Fare'] / x['Pclass_cost'])
Π’Π°Π±Π»ΠΈΡΠ° Π·Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅
ΠΠΎ-Π΄ΠΎΠ»Ρ Π΅ Π΄Π°Π΄Π΅Π½Π° ΡΠ°Π±Π»ΠΈΡΠ° Π½Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π΄Π°Π½Π½ΠΈ Π² ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ ΠΌΠ΅.
ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΡΠΈΠ΄ΠΈΠ²Π΅ΡΡ
ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π΄Π°Π½Π½ΠΈ
ΠΏΠ°Π½Π΄ΠΈ
ΠΠ°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ
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()
Π₯ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈ (JOIN)
left_join()
/ *_join()
merge()
merge()
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ
group_by()
+ mutate()
Π°ΡΠ³ΡΠΌΠ΅Π½Ρ j Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° :=
+ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ by
transform()
+ assign()
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΠΆΠ΅ Π±ΠΈ Π² ΡΡΠ°ΡΠΈΡΡΠ° ΠΎΠΏΠΈΡΠ°Ρ Π½Π΅ Π½Π°ΠΉ-ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌ, Π°ΠΊΠΎ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΌΠΈ Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ°, Π΄Π°Π΄Π΅Π½Π° Π² ΡΡΠ°ΡΠΈΡΡΠ°, Ρ Π΄ΡΡΠ³ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΠΈ Π² R / Python.
ΠΠ°ΠΊΡΠΎ ΠΏΠΈΡΠ°Ρ ΠΏΠΎ-Π³ΠΎΡΠ΅, ΡΠ΅Π»ΡΠ° Π½Π° ΡΡΠ°ΡΠΈΡΡΠ° Π½Π΅ Π±Π΅ΡΠ΅ Π΄Π° Π½Π°Π»ΠΎΠΆΠΈ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΉ Π΅Π·ΠΈΠΊ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΡ, Π° Π΄Π° ΠΎΠΏΡΠΎΡΡΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° Π½Π°ΡΡΠΈΡΠ΅ Π΄Π²Π°ΡΠ° Π΅Π·ΠΈΠΊΠ° ΠΈΠ»ΠΈ, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π΄Π° ΠΌΠΈΠ³ΡΠΈΡΠ°ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡ .
ΠΠΊΠΎ ΡΡΠ΅ Ρ
Π°ΡΠ΅ΡΠ°Π»ΠΈ ΡΡΠ°ΡΠΈΡΡΠ°, ΡΠ΅ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌ Π΄Π° ΠΈΠΌΠ°ΠΌ Π½ΠΎΠ²ΠΈ Π°Π±ΠΎΠ½Π°ΡΠΈ Π·Π° ΠΌΠΎΡΡΠ°
ΠΠΏΡΠΎΡ
ΠΠΎΠΈ ΠΎΡ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΈ?
Π ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° Π²Π°ΡΠΈΡ ΠΈΠ·Π±ΠΎΡ.
Π Π°Π½ΠΊΠ΅ΡΠ°ΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°ΡΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
ΠΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ (ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΎΠΏΡΠΈΠΈ)
-
45,2%tidyverse19
-
33,3%Π΄Π°Π½Π½ΠΈ.ΡΠ°Π±Π»ΠΈΡΠ°14
-
54,8%ΠΏΠ°Π½Π΄ΠΈ23
42 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π³Π»Π°ΡΡΠ²Π°Ρ
Π°. 9 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΡΠ΅ Π²ΡΠ·Π΄ΡΡΠΆΠ°Ρ
Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com