ΠΠΎ Π·Π°ΠΏΡΠΎΡΡ 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.tidyverse
2.2.data.table
2.3.pandas Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠΎΠ² ΠΡΠ±ΠΎΡ Π½ΡΠΆΠ½ΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ ΠΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ (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 ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΠΠ, ΠΎΠ± ΡΡΠΎΠΌ Ρ ΠΏΠΈΡΠ°Π» Π² ΡΡΠ°ΡΡΠ΅ 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
ΠΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
ΠΠ΅ΠΊΡΠΎΡ
Series Π² pandas ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ (list) Π² ΡΠΈΡΡΠΎΠΌ Python
ΠΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²Π°Ρ Π½Π΅ ΡΠ°Π±Π»ΠΈΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ°
Π‘ΠΏΠΈΡΠΎΠΊ (List)
Π‘Π»ΠΎΠ²Π°ΡΡ (dict)
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π°Π»Π΅Π΅.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ² ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π² Ρ ΠΎΠ΄Π΅ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ.
tidyverse
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ:
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° tidyverse
Π½Π°ΠΏΠΈΡΠ°Π½Π° Π₯Π΅Π΄Π»ΠΈ ΠΠΈΠΊΡ
Π΅ΠΌΠΎΠΌ, ΡΡΠ°ΡΡΠΈΠΌ Π½Π°ΡΡΠ½ΡΠΌ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠΌ RStudio. tidyverse
ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π²Π½ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠΏΡΠΎΡΠ°ΡΡΠΈΡ
ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π°Π½Π½ΡΡ
, 5 ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
Π²Ρ
ΠΎΠ΄ΡΡ Π² ΡΠΎΠΏ 10 Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ
ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ CRAN.
Π―Π΄ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²: ggplot2
, dplyr
, tidyr
, readr
, purrr
, tibble
, stringr
, forcats
. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ dplyr
ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, tidyr
Π΄Π»Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΊ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎΠΌΡ Π²ΠΈΠ΄Ρ, stringr
ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, Π° ggplot2
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ tidyverse
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΈ Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΏΠΎΡ
ΠΎΠΆ Π½Π° ΡΠ·ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² SQL.
data.table
ΠΠ²ΡΠΎΡΠΎΠΌ data.table
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΡΡΡ ΠΠΎΡΠ» ΠΈΠ· H2O.ai.
ΠΠ΅ΡΠ²ΡΠΉ ΡΠ΅Π»ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΡΡΠΎΡΠ»ΡΡ Π² 2006 Π³ΠΎΠ΄Ρ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π΅ ΡΠ°ΠΊ ΡΠ΄ΠΎΠ±Π΅Π½ ΠΊΠ°ΠΊ Π² tidyverse
ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΡ Π² R, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Ρ.
ΠΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ
ΡΠΊΠΎΠ±ΠΊΠ°Ρ
, ΠΈ Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ data.table
Π½Π° SQL, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: data.table[ WHERE, SELECT, GROUP BY ]
Π‘ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΡΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ .
pandas
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ:
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡ ΡΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π° Β«ΠΏΠ°Π½Π΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅Β» (Π°Π½Π³Π». panel data), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π°Π±ΠΎΡΠΎΠ² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΠ²ΡΠΎΡΠΎΠΌ 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 vs readr
What does the release ofvroom
mean forreadr
? For now we plan to let the two packages evolve separately, but likely we will unite the packages in the future. One disadvantage to vroomβs lazy reading is certain data problems canβt be reported up front, so how best to unify them requires some thought.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()
Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° sep Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ².
ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ Π² 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")
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠΎΠ²
Π ΡΠ°Π±Π»ΠΈΡΠ΅ titanic, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈ, Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ Sex, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ»Π° ΠΏΠ°ΡΡΠ°ΠΆΠΈΡΠ°.
ΠΠΎ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°Π·ΡΠ΅Π·Π΅ ΠΏΠΎΠ»Π° ΠΏΠ°ΡΡΠ°ΠΆΠΈΡΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ ΠΊΠΎΠ΄ ΠΏΠΎΠ»Π°, Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ, ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π³ΠΎ 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 β where, Ρ.Π΅. ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ
j β select|update|do, Ρ.Π΅. Π²ΡΠ±ΠΎΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈ ΠΈΡ
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅
by β Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½ΡΡ
ΠΡΠ±ΠΎΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² 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()
, ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ axis=1, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π°Π΄ΠΎ Π½Π΅ ΡΡΡΠΎΠΊΠΈ Π° ΡΡΠΎΠ»Π±ΡΡ.
ΠΠ»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΏΠΎΠ»Ρ ΠΏΠΎ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ select_dtypes()
, ΠΈ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ include ΠΈΠ»ΠΈ exclude ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ±ΡΠ°ΡΡ.
ΠΡΠ±ΠΎΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² 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 β where, Ρ.Π΅. ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ
j β select|update|do, Ρ.Π΅. Π²ΡΠ±ΠΎΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈ ΠΈΡ
ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅
by β Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½ΡΡ
ΠΠ»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΡΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ 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)]
ΠΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² Π°Π½Π°Π»ΠΈΠ·Π΅ Π΄Π°Π½Π½ΡΡ β Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ°Π·ΡΠΎΠ·Π½Π΅Π½ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ Π½Π°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ .
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΡ Π²ΠΎΠ·ΡΠΌΡΠΌ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌ titanic, ΠΈ ΠΏΠΎΡΡΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈ ΡΡΠ΅Π΄Π½ΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π±ΠΈΠ»Π΅ΡΠΎΠ² Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° ΠΊΠ°ΡΡΡ.
ΠΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π² 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()
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ ΡΠ°Π±Π»ΠΈΡΡ titanic, ΠΈ Π΄Π°Π»Π΅Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΏΠΎΠ»Π΅ Pclass, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° %>%
ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π² ΡΡΠ½ΠΊΡΠΈΡ summarise()
, ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΅ΡΡ 2 ΠΏΠΎΠ»Ρ: passangers ΠΈ avg_price. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ 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])
ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ, ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΡΡΠΎΠ»Π±ΡΡ ΠΈΠ· Π²ΡΠΎΡΠΎΠΉ ΠΏΠΎ ΠΊΠ»ΡΡΡ. ΠΠ°ΡΠ°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΠΎΠ³Π°ΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°ΠΊΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎ ΠΏΡΠΎΠ΄Π°ΠΆΠ°Ρ ), Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡΡ ΡΠΎΠ²Π°ΡΠ°).
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ:
Π Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π½Π΅Π΅ ΡΠ°Π±Π»ΠΈΡΠ΅ titanic Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΡΠΎΠ»Π±Π΅Ρ Sex, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠ΄Ρ ΠΏΠΎΠ»Π° ΠΏΠ°ΡΡΠ°ΠΆΠΈΡΠ°:
1 β ΠΆΠ΅Π½ΡΠΊΠΈΠΉ
2 β ΠΌΡΠΆΡΠΊΠΎΠΉ
Π’Π°ΠΊΠΆΠ΅, ΠΌΡ Ρ Π²Π°ΠΌΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ°Π±Π»ΠΈΡΡ β ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ gender. ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ ΠΏΠ°ΡΡΠ°ΠΆΠΈΡΠΎΠ² Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π°, ΠΈΠ· ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° gender Π² ΡΠ°Π±Π»ΠΈΡΡ titanic.
ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ Π² 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 β Π‘ΡΠΎΠ»Π±Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π² ΠΎΠ±Π΅ΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅
- 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
- how β Π’ΠΈΠΏ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ: left, right, outer, inner
- on β Π‘ΡΠΎΠ»Π±Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ, Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π² ΠΎΠ±Π΅ΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ
- left_on, right_on β ΠΠΌΠ΅Π½Π° ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΊΠ»ΡΡΠ΅ΠΉ, Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ
ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ Π² Python: pandas
# ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌ ΠΏΠΎ ΠΊΠ»ΡΡΡ
titanic.merge(gender, how = "left", left_on = "Sex", right_on = "id")
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠ΅ ΠΎΠΊΠΎΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ
ΠΠΊΠΎΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠΌΡΡΠ»Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° Π°Π³ΡΠ΅Π³ΠΈΡΡΡΡΠΈΠ΅, ΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π°Π½Π°Π»ΠΈΠ·Π΅ Π΄Π°Π½Π½ΡΡ . ΠΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π°Π³ΡΠ΅Π³ΠΈΡΡΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΠΊΠΎΠ½Π½ΡΠ΅ Π½Π΅ ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ ΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠ°.
ΠΠΎ ΡΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΊΠΎΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΡ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΠΌ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌ Π½Π° ΡΠ°ΡΡΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΡΠΈΠ·Π½Π°ΠΊΡ, Ρ.Π΅. ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ, ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ. Π ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½ Π² ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ, Ρ.Π΅. Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ Π² ΡΠ°Π±Π»ΠΈΡΠ΅.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΠΎΠ·ΡΠΌΡΠΌ ΡΠ°Π±Π»ΠΈΡΡ titanic. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠ΅Π½Ρ ΡΠΎΡΡΠ°Π²ΠΈΠ»Π° ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΈΠ»Π΅ΡΠ° Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΊΠ°ΡΡ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π±ΠΈΠ»Π΅ΡΠ° ΠΏΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΊΠ»Π°ΡΡΡ ΠΊΠ°ΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π±ΠΈΠ»Π΅Ρ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΏΠΎΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΈΠ»Π΅ΡΠ° Π½Π° ΠΎΠ±ΡΡΡ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π²ΡΠ΅Ρ Π±ΠΈΠ»Π΅ΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΊΠ°ΡΡ.
ΠΠΊΠΎΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² R: tidyverse, dplyr
ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ
ΡΡΠΎΠ»Π±ΡΠΎΠ², Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΡΠΎΠΊ, Π² dplyr
ΡΠ»ΡΠΆΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ mutate()
.
Π Π΅ΡΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π² Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ»Ρ Pclass ΠΈ ΠΏΡΠΎΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π² Π² Π½ΠΎΠ²ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ ΠΏΠΎΠ»Π΅ Fare. ΠΠ°Π»Π΅Π΅ ΡΠ°Π·Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Π΄Π΅Π»ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ Fare Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ ΡΠ°Π³Π΅.
ΠΠΊΠΎΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² 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()
.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² ΡΠ°Π±Π»ΠΈΡΡ titanic ΡΠ΅ ΠΆΠ΅ 2 ΡΡΠΎΠ»Π±ΡΠ°.
ΠΠΊΠΎΠ½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python: pandas
titanic.assign(Pclass_cost = titanic.groupby('Pclass').Fare.transform(sum),
ticket_fare_rate = lambda x: x['Fare'] / x['Pclass_cost'])
Π’Π°Π±Π»ΠΈΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²ΠΎΠΆΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ Π½Π°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ .
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
tidyverse
data.table
pandas
ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ
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%data.table14
-
54,8%pandas23
ΠΡΠΎΠ³ΠΎΠ»ΠΎΡΠΎΠ²Π°Π»ΠΈ 42 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΠ·Π΄Π΅ΡΠΆΠ°Π»ΠΈΡΡ 9 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com