ProHoster > Blog > fitantanan-draharaha > Iza amin'ireo fiteny tokony hofidiana hiasa amin'ny angona - R na Python? Samy! Mifindra avy amin'ny panda mankany amin'ny tidyverse sy data.table sy back
Iza amin'ireo fiteny tokony hofidiana hiasa amin'ny angona - R na Python? Samy! Mifindra avy amin'ny panda mankany amin'ny tidyverse sy data.table sy back
Amin'ny fitadiavana R na Python amin'ny Internet dia hahita lahatsoratra sy kilometatra an-tapitrisany amin'ny fifanakalozan-kevitra momba ny lohahevitra hoe iza no tsara kokoa, haingana ary mety kokoa amin'ny fiasana amin'ny data. Saingy indrisy fa tsy dia ilaina loatra ireo lahatsoratra sy fifandirana rehetra ireo.
Ny tanjon'ity lahatsoratra ity dia ny fampitahana ireo teknika fanodinana data fototra amin'ireo fonosana malaza indrindra amin'ireo fiteny roa ireo. Ary ampio ny mpamaky hifehy haingana ny zavatra mbola tsy hainy. Ho an'ireo izay manoratra amin'ny Python dia tadiavo ny fomba hanaovana izany amin'ny R, ary ny mifamadika amin'izany.
Mandritra ny lahatsoratra dia handinika ny syntax amin'ny fonosana malaza indrindra amin'ny R. Ireo no fonosana tafiditra ao amin'ny tranomboky tidyverseary koa ny fonosana data.table. Ary ampitahao amin'ny syntax-ny pandas, fonosana famakafakana angona malaza indrindra amin'ny Python.
Handeha tsikelikely amin'ny lalan'ny famakafakana ny angon-drakitra isika manomboka amin'ny famenoana azy mankany amin'ny fanatanterahana ny fiasan'ny fikandrana famakafakana mampiasa Python sy R.
afa-po
Ity lahatsoratra ity dia azo ampiasaina ho takelaka fitaka raha adinonao ny fomba fanaovana asa fanodinana angon-drakitra amin'ny iray amin'ireo fonosana dinihina.
Raha liana amin'ny famakafakana angon-drakitra ianao dia mety hahita ny ahy telegrama и YouTube fantsona. Ny ankamaroan'ny votoaty dia natokana ho an'ny fiteny R.
Ny fahasamihafana lehibe eo amin'ny R sy Python
Mba hahamora kokoa ny fifindranao avy amin'ny Python mankany R, na ny mifamadika amin'izany, dia hanome hevi-dehibe vitsivitsy tokony hojerenao aho.
Fidirana amin'ny fonosana fonosana
Raha vao tafiditra ao amin'ny R ny fonosana iray dia tsy mila mamaritra ny anaran'ny fonosana ianao raha te hidirana amin'ny asany. Amin'ny ankamaroan'ny toe-javatra dia tsy fahita amin'ny R izany, saingy azo ekena. Tsy mila manafatra fonosana mihitsy ianao raha mila iray amin'ireo fiasany ao amin'ny codeo, fa antsoy fotsiny izany amin'ny famaritana ny anaran'ny fonosana sy ny anaran'ny asa. Ny separator eo anelanelan'ny fonosana sy ny anaran'ny asa ao amin'ny R dia colon roa. package_name::function_name().
Ao amin'ny Python, ny mifanohitra amin'izany, dia heverina ho mahazatra ny miantso ny fiasan'ny fonosana iray amin'ny famaritana mazava ny anarany. Rehefa alaina ny fonosana dia matetika nomena anarana nohafohezina, ohatra. pandas mazàna solon'anarana no ampiasaina pd. Ny fiasa fonosana dia idirana amin'ny alalan'ny teboka iray package_name.function_name().
Andraikitra
Ao amin'ny R, mahazatra ny mampiasa zana-tsipìka hanisy sanda amin'ny zavatra iray. obj_name <- value, na dia azo atao aza ny famantarana tokana mitovy, ny famantarana tokana mitovy amin'ny R dia ampiasaina voalohany indrindra handefasana soatoavina amin'ny tohan-kevitra.
Amin'ny Python, ny fanendrena dia atao miaraka amin'ny famantarana mitovy obj_name = value.
nirakitra anarana
Misy fahasamihafana lehibe ihany koa eto. Ao amin'ny R, ny fanondroana dia manomboka amin'ny iray ary ahitana ny singa rehetra voafaritra ao amin'ny salan'isa vokatra,
Ao amin'ny Python, ny fanondroana dia manomboka amin'ny aotra ary ny faritra voafantina dia tsy ahitana ny singa farany voalaza ao amin'ny index. So design x[i:j] amin'ny Python dia tsy hampiditra ny singa j.
Misy ihany koa ny fahasamihafana eo amin'ny fanondroana ratsy, ao amin'ny R notation x[-1] dia hamerina ny singa rehetra amin'ny vector afa-tsy ny farany. Ao amin'ny Python, ny fanamarihana mitovy amin'izany dia hamerina ny singa farany ihany.
Fomba sy OOP
R dia mampihatra ny OOP amin'ny fombany manokana, nanoratra momba izany aho tao amin'ny lahatsoratra "OOP amin'ny fiteny R (fizarana 1): kilasy S3". Amin'ny ankapobeny, R dia fiteny miasa, ary ny zavatra rehetra ao anatiny dia miorina amin'ny fiasa. Noho izany, ohatra, ho an'ny mpampiasa Excel, mandehana any tydiverse ho mora kokoa noho izany pandas. Na dia mety ho hevitro manokana aza izany.
Raha fintinina, ny zavatra ao amin'ny R dia tsy manana fomba (raha miresaka momba ny kilasy S3 isika, fa misy fampiharana OOP hafa izay tsy dia mahazatra loatra). Tsy misy afa-tsy asa ankapobe izay manodina azy ireo amin'ny fomba hafa arakaraka ny kilasin'ilay zavatra.
Pipelines
Angamba izany no anarana ho an'ny pandas Tsy ho marina tanteraka izany, fa hiezaka aho hanazava ny dikany.
Mba tsy hamonjena ny kajy mpanelanelana ary tsy hamokatra zavatra tsy ilaina amin'ny tontolon'ny asa dia azonao atao ny mampiasa karazana fantsona. Ireo. Mandalo ny vokatry ny kajy avy amin'ny asa iray mankany amin'ny manaraka, ary aza mitahiry valiny manelanelana.
Nanao hetsika 3 misesy izahay, ary ny vokatry ny tsirairay dia voatahiry ao anaty zavatra iray. Saingy raha ny marina, tsy mila ireo zavatra mpanelanelana ireo isika.
Na ratsy kokoa aza, fa mahazatra kokoa ny mpampiasa Excel.
obj <- func3(func2(func1()))
Amin'ity tranga ity, tsy nitahiry ny valin'ny kajy antonony izahay, fa ny famakiana kaody miaraka amin'ny fiasa misy akany dia tena manahiran-tsaina.
Hijery fomba fiasa maromaro amin'ny fanodinana angon-drakitra ao amin'ny R isika, ary manao asa mitovy amin'ny fomba samihafa izy ireo.
Pipelines ao amin'ny tranomboky tidyverse ampiharin'ny mpandraharaha %>%.
obj <- func1() %>%
func2() %>%
func3()
Noho izany dia mandray ny vokatry ny asa isika func1() ary ampitao ho tohan-kevitra voalohany amin'ny func2(), dia mandalo ny valin'io kajy io ho toy ny hevitra voalohany func3(). Ary amin'ny farany dia soratanay ny kajy rehetra natao tao amin'ilay zavatra obj <-.
Ireo rehetra voalaza etsy ambony ireo dia aseho tsara kokoa noho ny teny amin'ity meme ity:
В data.table ny rojo dia ampiasaina amin'ny fomba mitovy.
Ao amin'ny tsirairay amin'ireo fononteny efajoro dia azonao ampiasaina ny vokatry ny asa teo aloha.
В pandas ny asa toy izany dia misaraka amin'ny teboka iray.
obj = df.fun1().fun2().fun3()
Ireo. maka ny latabatray izahay df ary ampiasao ny fomba fiasany fun1(), dia ampiharintsika amin'ny vokatra azo ilay fomba fun2(), aorian'ny fun3(). Ny vokatra azo dia voatahiry ao anaty zavatra iray zavatra .
Rafitra data
Ny firafitry ny angona ao amin'ny R sy Python dia mitovy, saingy manana anarana hafa.
famaritana
Anarana ao amin'ny R
Anarana amin'ny Python/pandas
Firafitry ny latabatra
data.frame, data.table, tapa
DataFrame
Lisitry ny soatoavina tokana
Vector
Andian-dahatsoratra amin'ny panda na lisitra amin'ny Python madio
Mpanoratra data.table dia Matt Dole avy amin'ny H2O.ai.
Ny famoahana voalohany ny tranomboky dia natao tamin'ny taona 2006.
Ny fonosana syntax dia tsy mety toy ny ao tidyverse ary mampahatsiahy kokoa ny angon-drakitra mahazatra ao amin'ny R, saingy amin'ny fotoana iray ihany dia miitatra be amin'ny fiasa.
Ny fanodinkodinana rehetra miaraka amin'ny latabatra ao amin'ity fonosana ity dia voalaza ao anaty fonon-joro efamira, ary raha mandika ny syntax ianao data.table Ao amin'ny SQL, mahazo zavatra toy izao ianao: data.table[ WHERE, SELECT, GROUP BY ]
Ny tanjaky ity fonosana ity dia ny hafainganam-pandehan'ny fanodinana angon-drakitra be dia be.
Ny anaran'ny trano famakiam-boky dia avy amin'ny teny ekonometrika hoe "angona tontonana", ampiasaina hamaritana ireo antontam-baovao voarafitra marobe.
Mpanoratra pandas dia Wes McKinney Amerikana.
Raha ny momba ny famakafakana data amin'ny Python dia mitovy pandas Tsia. Fonosana tena multifunctional, avo lenta izay ahafahanao manao fanodinkodinana amin'ny angon-drakitra, manomboka amin'ny fampidirana angona avy amin'ny loharano rehetra ka hatramin'ny fijerena azy.
Fametrahana fonosana fanampiny
Ny fonosana resahina ato amin'ity lahatsoratra ity dia tsy tafiditra ao amin'ny fizarana R sy Python fototra. Na dia misy fampitandremana kely aza, raha nametraka ny fizarana Anaconda ianao, dia apetraho fanampiny pandas tsy ilaina.
Fametrahana fonosana ao amin'ny R
Raha nanokatra ny tontolon'ny fampandrosoana RStudio ianao farafaharatsiny indray mandeha, dia mety ho efa fantatrao ny fomba fametrahana ny fonosana ilaina amin'ny R. Mba hametrahana fonosana dia ampiasao ny baiko mahazatra install.packages() amin'ny fampandehanana azy mivantana amin'ny R mihitsy.
# установка пакетов
install.packages("vroom")
install.packages("readr")
install.packages("dplyr")
install.packages("data.table")
Aorian'ny fametrahana dia mila mifandray ny fonosana, izay matetika no ampiasaina ny baiko library().
# подключение или импорт пакетов в рабочее окружение
library(vroom)
library(readr)
library(dplyr)
library(data.table)
Fametrahana Packages amin'ny Python
Noho izany, raha manana Python madio ianao, dia pandas mila mametraka azy amin'ny tanana ianao. Sokafy baiko, na terminal, miankina amin'ny rafitra fiasanao ary ampidiro ity baiko manaraka ity.
pip install pandas
Avy eo dia miverina amin'ny Python izahay ary manafatra ny fonosana napetraka miaraka amin'ny baiko import.
import pandas as pd
Loading Data
Ny fitrandrahana angon-drakitra dia iray amin'ireo dingana lehibe indrindra amin'ny famakafakana data. Na Python na R, raha tiana, dia manome anao fahafahana malalaka hahazoana angon-drakitra avy amin'ny loharano rehetra: rakitra eo an-toerana, rakitra avy amin'ny Internet, tranokala, karazana tahiry rehetra.
Manerana ny lahatsoratra dia hampiasa angona maromaro izahay:
Fisintonana roa avy amin'ny Google Analytics.
Takelaka data Titanic Passenger.
Ny angon-drakitra rehetra dia ao amin'ny ahy GitHub amin'ny endrika rakitra csv sy tsv. Aiza no hangataka azy ireo?
Fampidirana angona ao amin'ny R: tidyverse, vroom, readr
Hampiditra angona ao anaty tranomboky tidyverse Misy fonosana roa: vroom, readr. vroom maoderina kokoa, fa amin'ny ho avy dia azo atambatra ny fonosana.
vroom vs mpamaky
Inona no atao hoe famoahana ny vroom midika ho readr? Amin'izao fotoana izao dia mikasa ny hamela ireo fonosana roa hivoatra misaraka izahay, saingy azo inoana fa hampitambatra ireo fonosana amin'ny ho avy. Ny fatiantoka iray amin'ny famakian-teny malaina an'i vroom dia ny olana sasany momba ny angon-drakitra tsy azo ambara mialoha, koa mila eritreritra ny fomba tsara indrindra hampiraisana azy ireo.
vroom vs readr
Inona no dikan'ny hoe famotsorana? vroom ho an'ny readr? Amin'izao fotoana izao dia mikasa ny hamolavola ireo fonosana roa misaraka izahay, saingy mety hanambatra azy ireo amin'ny ho avy. Iray amin'ireo tsy fahampian'ny kamo mamaky teny vroom dia ny olana sasany amin'ny angon-drakitra tsy azo taterina mialoha, ka mila mieritreritra ny fomba tsara indrindra hanambatra azy ireo ianao.
Ato amin'ity lahatsoratra ity isika dia hijery ny roa fonosana entana:
Ao amin'ny fonosana vroom, na inona na inona format data csv / tsv, ny fandefasana dia atao amin'ny alàlan'ny anarana mitovy vroom(), ao anaty fonosana readr mampiasa asa hafa ho an'ny endrika tsirairay izahay read_tsv() и read_csv().
Fampidirana angona ao amin'ny R: data.table
В data.table misy fonctionnement andefasana data fread().
Fampidirana ny angona ao amin'ny R: fonosana data.table
Raha ampitahaina amin'ny fonosana R isika, amin'ity tranga ity dia ny syntax no akaiky indrindra pandas dia ho readr, satria pandas afaka mangataka angon-drakitra na aiza na aiza, ary misy fianakaviam-piasa iray manontolo ao anatin'ity fonosana ity read_*().
read_csv()
read_excel()
read_sql()
read_json()
read_html()
Ary asa maro hafa natao hamakiana angona avy amin'ny endrika isan-karazany. Saingy ho an'ny tanjonay dia ampy izany read_table() na read_csv() mampiasa argument Sep mba hamaritana ny tsanganana separator.
LOHA Titanic, izay nampitondrainay, misy saha Firaisana Ara-nofo, izay mitahiry ny famantarana ny maha-lahy sy maha-vavy ny mpandeha.
Fa ho famelabelarana mora kokoa ny angon-drakitra momba ny lahy sy vavy, dia tokony hampiasa ny anarana ianao fa tsy ny fehezan-dalàna momba ny lahy sy ny vavy.
Mba hanaovana izany, dia hamorona lahatahiry kely isika, latabatra iray izay tsy hisy afa-tsy tsanganana 2 (kaody sy anaran'ny lahy sy vavy) ary laharana 2.
Mamorona angon-drakitra ao amin'ny R: tidyverse, dplyr
Ao amin'ny ohatra kaody etsy ambany, mamorona angon-drakitra tiana isika amin'ny fampiasana ny fiasa tibble() .
В pandas Ny famoronana frame dia atao amin'ny dingana maromaro, voalohany dia mamorona rakibolana, ary avy eo dia mamadika ny rakibolana ho dataframe.
Mamorona dataframe amin'ny Python: pandas
# создаём дата фрейм
gender_dict = {'id': [1, 2],
'gender': ["female", "male"]}
# преобразуем словарь в датафрейм
gender = pd.DataFrame.from_dict(gender_dict)
Mifidy Tsanganana
Mety misy tsanganana am-polony na an-jatony mihitsy aza ny tabilao iarahanao. Fa mba hanatanterahana ny fanadihadiana, toy ny fitsipika, dia tsy mila ny tsanganana rehetra izay hita ao amin'ny latabatra loharano.
Noho izany, ny iray amin'ireo hetsika voalohany hataonao miaraka amin'ny latabatra loharano dia ny manala azy amin'ny fampahalalana tsy ilaina ary manafaka ny fahatsiarovana izay misy an'io fampahalalana io.
Misafidiana tsanganana ao amin'ny R: tidyverse, dplyr
Syntaxe dplyr dia mitovy amin'ny fiteny SQL query, raha zatra azy ianao dia hahafehy haingana ity fonosana ity.
Raha hifidy tsanganana dia ampiasao ny fiasa select().
Jereo ny anaran'ny tsanganana mampiasa fomba fiteny mahazatra
Amin'ny karazana data na fananana hafa amin'ny angona voarakitra ao amin'ny tsanganana
Misafidiana tsanganana ao amin'ny 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)
Misafidiana tsanganana ao amin'ny R: data.table
Ny hetsika mitovy amin'ny data.table dia atao amin'ny fomba hafa kely, tany am-piandohan'ny lahatsoratra dia nanome famaritana momba ny hevitra ao anaty brackets efajoro aho data.table.
DT[i,j,by]
izay:
i - aiza, i.e. sivana amin'ny andalana
j - mifidy|fanavaozana|manao, i.e. mifantina tsanganana ary manova azy ireo
by - fanangonana angona
Miovaova .SD ahafahanao miditra amin'ny tsanganana rehetra, ary .SDcols sivana ireo tsanganana ilaina amin'ny fampiasana fomba fiteny mahazatra, na asa hafa hanivanana ny anaran'ny tsanganana ilainao.
Misafidiana tsanganana amin'ny Python, panda
Hifantina tsanganana amin'ny anarana ao pandas ampy ny manome ny lisitry ny anarany. Ary raha misafidy na manilika tsanganana amin'ny anarana amin'ny fampiasana fiteny mahazatra dia mila mampiasa ireo fiasa ianao drop() и filter(), ary argument axis = 1, izay ilazanao fa ilaina ny fanodinana tsanganana fa tsy andalana.
Raha hifidy saha amin'ny karazana data, ampiasao ny fiasa select_dtypes(), ary amin'ny arguments Anisan'izany na manilika Mandefa lisitry ny karazana data mifanaraka amin'ny saha tokony hofidinao.
Misafidiana tsanganana amin'ny 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'])
Sivana andalana
Ohatra, ny latabatra loharano dia mety ahitana angona an-taonany maro, fa ny volana lasa ihany no ilainao hamakafaka. Averina indray, ny andalana fanampiny dia hampiadana ny fizotran'ny fanodinana angon-drakitra ary hanakana ny fitadidiana PC.
Sivana andalana ao amin'ny R: tydyverse, dplyr
В dplyr ny asa dia ampiasaina hanivana andalana filter(). Mila rafitra angon-drakitra ho tohan-kevitra voalohany, avy eo tanisao ny fepetra sivana.
Rehefa manoratra teny lojika hanivana latabatra, amin'ity tranga ity, dia mariho ny anaran'ny tsanganana tsy misy teny nalaina ary tsy manambara ny anaran'ny latabatra.
# фильтрация строк
## dplyr
### фильтрация строк по одному условию
filter(ga_nov, source == "google")
### фильтр по двум условиям соединённым логическим и
filter(ga_nov, source == "google" & sessions >= 10)
### фильтр по двум условиям соединённым логическим или
filter(ga_nov, source == "google" | sessions >= 10)
Sivana andalana ao amin'ny R: data.table
Araka ny efa nosoratako etsy ambony, in data.table Ny syntax fiovam-po amin'ny angona dia voarakitra ao anaty fononteny efamira.
DT[i,j,by]
izay:
i - aiza, i.e. sivana amin'ny andalana
j - mifidy|fanavaozana|manao, i.e. mifantina tsanganana ary manova azy ireo
by - fanangonana angona
Ny argument dia ampiasaina hanivana andalana i, izay manana ny toerana voalohany amin'ny brackets efamira.
Ny tsanganana dia idirana amin'ny fomba fiteny lojika tsy misy mari-tsoratra ary tsy manondro ny anaran'ny latabatra.
Ny fomba fiteny lojika dia mifandray amin'ny fomba mitovy amin'ny ao dplyr amin'ny alalan'ny & and | operator.
Sivana andalana ao amin'ny R: data.table
## data.table
### фильтрация строк по одному условию
ga_nov[source == "google"]
### фильтр по двум условиям соединённым логическим и
ga_nov[source == "google" & sessions >= 10]
### фильтр по двум условиям соединённым логическим или
ga_nov[source == "google" | sessions >= 10]
Sivana tady amin'ny Python: pandas
Sivanina araka ny andalana ao pandas mitovy amin'ny sivana ao data.table, ary atao amin'ny fononteny efajoro.
Amin'ity tranga ity, ny fidirana amin'ny tsanganana dia tsy maintsy atao amin'ny fanondroana ny anaran'ny dataframe; avy eo ny anaran'ny tsanganana dia azo aseho amin'ny marika teny amin'ny brackets square (ohatradf['col_name']), na tsy misy teny nalaina aorian'ny fe-potoana (ohatradf.col_name).
Raha mila manivana angon-drakitra amin'ny fepetra maromaro ianao dia tsy maintsy apetraka ao anaty fononteny ny fepetra tsirairay. Ny fepetra lojika dia mifamatotra amin'ny tsirairay amin'ireo mpandraharaha & и |.
Sivana tady amin'ny 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)]
Vondrona sy fanangonana angona
Ny iray amin'ireo asa fampiasa matetika indrindra amin'ny famakafakana angon-drakitra dia ny fanangonana sy fanangonana.
Amin'ity tranga ity dia haka angon-drakitra ho ohatra isika Titanic, ary kajy ny isa sy ny salanisa vidin'ny tapakila miankina amin'ny kilasy cabin.
Vondrona sy fanangonana angon-drakitra ao amin'ny R: tidyverse, dplyr
В dplyr ny asa dia ampiasaina amin'ny vondrona group_by(), ary ho an'ny fanangonana summarise(). Raha ny tena izy, dplyr misy fianakaviana iray manontolo ny asa summarise_*(), fa ny tanjon'ity lahatsoratra ity dia ny fampitahana ny fehezanteny fototra, ka tsy hiditra amin'ny ala mikitroka toy izany isika.
Asa fanangonana fototra:
sum() - famintinana
min() / max() - sanda kely indrindra sy ambony indrindra
Miasa group_by() Nandalo ny latabatra ho tohan-kevitra voalohany izahay Titanic, ary avy eo nanondro ny saha Pclass, izay hanakambanantsika ny latabatra. Ny vokatry ny asa mampiasa ny mpandraharaha %>% lasa ho tohan-kevitra voalohany ho an'ny asa summarise(), ary nanampy saha 2 hafa: mpandeha и vidiny_avg. Tamin'ny voalohany, mampiasa ny asa length() kajy ny isan'ny tapakila, ary ao amin'ny faharoa mampiasa ny asa mean() nahazo ny vidin'ny tapakila antonony.
Fivondronana sy fanangonana ny angona ao amin'ny R: data.table
В data.table ny tohan-kevitra dia ampiasaina amin'ny fanangonana j izay manana toerana faharoa amin'ny brackets efamira, ary ho an'ny vondrona by na keyby, izay manana ny laharana fahatelo.
Ny lisitry ny asa aggregation amin'ity tranga ity dia mitovy amin'ny voalaza ao dplyr, satria Ireo dia fiasa avy amin'ny syntax fototra R.
Vondrona sy fanangonana ao amin'ny R: data.table
## data.table
### фильтрация строк по одному условию
titanic[, .(passangers = length(PassengerId),
avg_price = mean(Fare)),
by = Pclass]
Vondrona sy fanangonana angon-drakitra amin'ny Python: pandas
Grouping in pandas mitovy amin'ny dplyr, fa ny fitambarana dia tsy mitovy amin'ny dplyr tsia mihitsy data.table.
Mba hanangonana, ampiasao ny fomba groupby(), izay ilainao handefasana lisitry ny tsanganana izay hanakambanana ny dataframe.
Ho an'ny fanangonana dia azonao ampiasaina ny fomba agg()izay manaiky rakibolana. Ny fanalahidin'ny rakibolana dia ny tsanganana izay hampiharanao ny asa fanangonana, ary ny sanda dia ny anaran'ny asa fanangonana.
Asa fanangonana:
sum() - famintinana
min() / max() - sanda kely indrindra sy ambony indrindra
mean() - antonony
median() — mediana
count() - habetsahana
asa reset_index() ao amin'ny ohatra etsy ambany dia ampiasaina hamerenana ny fanondroana nested izany pandas default amin'ny aorian'ny fanangonana angona.
Символ mamela anao hifindra amin'ny andalana manaraka.
Vondrona sy fanangonana amin'ny Python: pandas
# группировка и агрегация данных
titanic.groupby(["Pclass"]).
agg({'PassengerId': 'count', 'Fare': 'mean'}).
reset_index()
Fikambanan'ny tabilao mitsangana
Hetsika iray iarahanao tabilao roa na maromaro mitovy rafitra. Ahitana tabilao ny angona nampidirinay ga_nov и ga_dec. Ireo tabilao ireo dia mitovy amin'ny rafitra, i.e. manana tsanganana mitovy, ary ny karazana angona ao amin'ireo tsanganana ireo.
Ity dia fampidinana avy amin'ny Google Analytics ho an'ny volana Novambra sy Desambra, amin'ity fizarana ity dia hanambatra ireo angona ireo ho latabatra iray.
В pandas ny asa dia ampiasaina mba hanambatra latabatra concat(), izay tsy maintsy andalovanao ny lisitry ny frame mba hanambatra azy ireo.
Sivana tady amin'ny Python: pandas
# вертикальное объединение таблиц
pd.concat([ga_nov, ga_dec])
Fikambanan'ny tabilao marindrano
Hetsika izay ampiana tsanganana avy amin'ny faharoa amin'ny latabatra voalohany amin'ny alalan'ny fanalahidy. Matetika izy io no ampiasaina rehefa mampanan-karena ny latabatra zava-misy (ohatra, latabatra misy angona momba ny varotra) miaraka amin'ny angona fanondro (ohatra, ny vidin'ny vokatra iray).
Misy karazana fifandraisana maromaro:
Ao amin'ny latabatra efa feno Titanic manana tsanganana izahay Firaisana Ara-nofo, izay mifanandrify amin'ny kaody lahy sy vavy ho an'ny mpandeha:
1 - vehivavy
2 - lahy
Ary koa, namorona latabatra - boky fanondro lahy sy ny vavy. Raha mila famelabelarana mora kokoa ny angon-drakitra momba ny lahy sy vavy amin'ny mpandeha dia mila ampiana ny anaran'ny lahy sy vavy avy amin'ny lahatahiry lahy sy ny vavy amin'ny latabatra Titanic.
В dplyr Misy fianakaviam-piasa iray manontolo ho an'ny fifandraisana horizontaly:
inner_join()
left_join()
right_join()
full_join()
semi_join()
nest_join()
anti_join()
Ny fampiasa matetika indrindra amin'ny fanaoko dia left_join().
Amin'ny maha arguments roa voalohany, ny asa voatanisa etsy ambony dia maka latabatra roa hikambanana, ary ho toy ny hevitra fahatelo by tsy maintsy mamaritra ny tsanganana hidirana ianao.
Tabilao mitsivalana mitambatra amin'ny R: dplyr
# объединяем таблицы
left_join(titanic, gender,
by = c("Sex" = "id"))
Fikambanan'ny tabilao marindrano ao amin'ny R: data.table
В data.table Mila manambatra latabatra amin'ny fanalahidy ianao amin'ny fampiasana ny fiasa merge().
Ny tohan-kevitra hanambatra () miasa ao amin'ny data.table
x, y - Tabilao hikambanana
by — Tsanganana izay fanalahidy hidirana raha mitovy ny anarana ao amin'ny tabilao roa
by.x, by.y - Anaran'ny tsanganana hatambatra, raha manana anarana hafa ao anaty tabilao
all, all.x, all.y — Karazana mitambatra, ny rehetra dia hamerina ny andalana rehetra avy amin'ny latabatra roa, all.x mifanitsy amin'ny hetsika LEFT JOIN (dia handao ny andalana rehetra amin'ny latabatra voalohany), all.y — mifanitsy amin'ny RIGHT JOIN operation (dia hamela ny andalana rehetra amin'ny latabatra faharoa).
Fikambanan'ny tabilao marindrano ao amin'ny R: data.table
# объединяем по ключу
titanic.merge(gender, how = "left", left_on = "Sex", right_on = "id")
Fampiasana fikandrana fototra sy tsanganana kajy
Ny fiasan'ny fikandrana dia mitovy amin'ny dikany amin'ny asa fanangonana, ary matetika ampiasaina amin'ny famakafakana angon-drakitra. Saingy tsy toy ny asa fanangonana, ny fiasan'ny fikandrana dia tsy manova ny isan'ny andalana amin'ny dataframe mivoaka.
Amin'ny ankapobeny, amin'ny fampiasana ny fiasan'ny fikandrana, dia nozarainay ho ampahany ny dataframe ho avy araka ny fepetra sasany, i.e. amin'ny sandan'ny saha iray, na saha maromaro. Ary manao asa arithmetika amin'ny varavarankely tsirairay izahay. Ny vokatr'ireo asa ireo dia haverina isaky ny andalana, i.e. tsy manova ny isan'ny andalana rehetra ao amin'ny latabatra.
Ohatra, andeha horaisintsika ny latabatra Titanic. Azontsika kajy ny isan-jaton'ny vidin'ny tapakila tsirairay tao anatin'ny kilasin'ny kabine.
Mba hanaovana izany dia mila miditra amin'ny andalana tsirairay ny totalin'ny tapakila ho an'ny kilasin'ny kabine amin'izao fotoana izao izay misy ny tapakila amin'ity andalana ity, ary zarao ny vidin'ny tapakila tsirairay amin'ny vidin'ny tapakila rehetra amin'ny kilasin'ny kabine iray ihany. .
Ny varavarankely miasa ao amin'ny R: tidyverse, dplyr
Azonao atao ny mamaha ny olana voalaza etsy ambony amin'ny alàlan'ny fanakambanana data amin'ny saha Pclass ary mamintina ny saha amin'ny tsanganana vaovao manao. Manaraka, sokafy ny latabatra ary zarao ny sandan'ny saha manao amin'izay nitranga tamin'ny dingana teo aloha.
Ny algorithm solution dia mitovy amin'ny in dplyr, mila mizara ny latabatra ho varavarankely amin'ny saha Pclass. Avoahy ao anaty tsanganana vaovao ny vola ho an'ny vondrona mifanitsy amin'ny andalana tsirairay, ary ampio tsanganana izay kajy ny anjaran'ny vidin'ny tapakila tsirairay ao amin'ny vondrona misy azy.
Angamba ao amin'ny lahatsoratra nolazaiko fa tsy ny fampiharana tsara indrindra amin'ny fanodinana angon-drakitra, noho izany dia ho faly aho raha manitsy ny fahadisoako amin'ny fanehoan-kevitra ianao, na mameno fotsiny ny fampahalalana omena ao amin'ny lahatsoratra miaraka amin'ny teknika hafa miasa amin'ny data amin'ny R / Python.
Araka ny nosoratako etsy ambony, ny tanjon'ny lahatsoratra dia tsy ny hanery ny olona iray amin'izay fiteny tsara kokoa, fa ny hanatsorana ny fahafahana hianatra fiteny roa, na, raha ilaina, mifindra monina eo anelanelan'izy ireo.
Raha tianao ilay lahatsoratra dia ho faly aho manana mpanjifa vaovao ho ahy YouTube и telegrama fantsona.
resadresaka
Iza amin'ireto fonosana ireto no ampiasainao amin'ny asanao?
Ao amin'ny fanehoan-kevitra dia azonao soratana ny anton'ny safidinao.