Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

Ma te rapu R, Python ranei i runga i te Ipurangi, ka kitea e koe nga miriona tuhinga me nga kiromita o nga korerorero mo te kaupapa ko tehea te mea pai ake, tere me te watea mo te mahi me nga raraunga. Engari, ko enei tuhinga katoa me nga tautohetohe kaore e tino whai hua.

Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

Ko te kaupapa o tenei tuhinga he whakataurite i nga tikanga tukatuka raraunga taketake i roto i nga kohinga rongonui o nga reo e rua. A awhina i nga kaipanui kia tere te mohio ki tetahi mea kaore ano kia mohio. Mo te hunga e tuhi ana ki te reo Python, kimihia me pehea te mahi i taua mea i roto i te R, me te rereke.

I roto i te tuhinga ka wetewetehia te wetereo o nga kohinga rongonui i R. Ko enei nga kohinga kei roto i te whare pukapuka tidyverseme te kete hoki data.table. Na ka whakataurite i to raatau wetereo ki pandas, te kohinga tātari raraunga tino rongonui i Python.

Ka haere maatau i te huarahi katoa o te tātari raraunga mai i te uta ki te mahi i nga mahi matapihi tātari ma te whakamahi i te Python me te R.

Tuhinga

Ka taea te whakamahi i tenei tuhinga hei pepa tinihanga mena kua wareware koe ki te mahi i etahi mahi tukatuka raraunga i roto i tetahi o nga kohinga e whakaarohia ana.

Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

  1. Nga rereketanga wetereo matua i waenga i te R me te Python
    1.1. Te Uru ki nga Mahi Mokete
    1.2. Taumahi
    1.3. Taupūtanga
    1.4. Nga tikanga me te OOP
    1.5. Raina paipa
    1.6. Nga hanganga raraunga
  2. He kupu torutoru mo nga kete ka whakamahia e matou
    2.1. tidyverse
    2.2. raraunga.table
    2.3. porangi
  3. Tāuta pōkai
  4. Uta Raraunga
  5. Te hanga anga raraunga
  6. Te Kowhiri i nga Tiwae e hiahia ana koe
  7. Tātari rarangi
  8. Te whakarōpū me te whakahiato
  9. Uniana poutū o ngā ripanga (UNION)
  10. Hononga whakapae o nga ripanga (HUIA)
  11. Nga mahi matapihi taketake me nga pou tatau
  12. Te ripanga reta i waenga i nga tikanga tukatuka raraunga i roto i te R me te Python
  13. mutunga
  14. He rangahau poto mo te kete e whakamahia ana e koe

Mena kei te pirangi koe ki te tātari raraunga, ka kitea e koe taku waea и youtube hongere. Ko te nuinga o nga korero e whakatapua ana ki te reo R.

Nga rereketanga wetereo matua i waenga i te R me te Python

Kia ngawari ake ai to huri mai i te Python ki te R, he rereke ranei, ka hoatu e au etahi kaupapa matua hei aro maau.

Te Uru ki nga Mahi Mokete

Ina utaina he kete ki roto i te R, kaore koe e hiahia ki te tohu i te ingoa mokihi kia uru atu ai ki ana mahi. I te nuinga o nga wa kaore tenei i te nuinga o te R, engari ka whakaaetia. Kaore koe e kawemai i tetahi kete mena ka hiahia koe ki tetahi o ana mahi i roto i to waehere, engari me karanga noa ma te tohu i te ingoa o te kete me te ingoa o te mahi. Ko te whakawehe i waenga i nga ingoa mokihi me nga ingoa mahi i roto i te R he kopirua rua. package_name::function_name().

I roto i te Python, he rereke, ka kiia he maamaa ki te karanga i nga mahi o te kete ma te whakaatu i tona ingoa. Ina tangohia mai he kete, ka hoatu he ingoa whakapoto, hei tauira. pandas i te nuinga o te wa ka whakamahia he pseudonym pd. Ka uru atu tetahi mahinga mokihi ma te ira package_name.function_name().

Taumahi

I roto i te R, he mea noa te whakamahi pere hei tautapa i tetahi uara ki tetahi mea. obj_name <- value, ahakoa ka whakaaetia he tohu rite kotahi, ko te tohu rite kotahi i roto i te R ka whakamahia tuatahi ki te tuku uara ki te mahi tohenga.

I roto i te Python, ka mahia te taumahi me te tohu rite kotahi obj_name = value.

Taupūtanga

He tino rerekee ano kei konei. I roto i te R, ka timata te taupūtanga i te kotahi me te whakauru i nga huānga kua tohua i roto i te awhe hua,

I roto i te Python, ka timata te taupūtanga mai i te kore, karekau te awhe kua tohua i roto i te huānga whakamutunga kua tohua ki te taupū. Na hoahoa x[i:j] i roto i te Python e kore e whakauru i te huānga j.

He rereke ano te tohu tohu kino, kei te tohu R x[-1] ka whakahokia nga huānga katoa o te vector engari ko te mea whakamutunga. I roto i te Python, ka hoki mai he tohu rite ki te waahanga whakamutunga anake.

Nga tikanga me te OOP

Ka whakatinanahia e R te OOP i tana ake huarahi, i tuhi ahau mo tenei i roto i te tuhinga "OOP i te reo R (wahanga 1): akomanga S3". I te nuinga o te waa, he reo mahi te R, a ko nga mea katoa kei roto ka hangaia i runga i nga mahi. No reira, hei tauira, mo nga kaiwhakamahi Excel, haere ki tydiverse ka mama ake pandas. Ahakoa koinei pea taku whakaaro kaupapa.

I te poto, ko nga mea i roto i te R kaore he tikanga (mehemea ka korero tatou mo nga karaehe S3, engari tera ano etahi atu whakatinanatanga OOP he iti noa iho). He mahi whaanui anake ka rereke te tukatuka i runga i te karaehe o te ahanoa.

Raina paipa

Ko tenei pea te ingoa mo pandas E kore e tino tika, engari ka ngana ahau ki te whakamarama i te tikanga.

Kia kore ai e tiaki i nga tatauranga takawaenga me te kore e whakaputa i nga mea e kore e tika i roto i te taiao mahi, ka taea e koe te whakamahi i tetahi momo paipa. Ko era. whakawhiti i te hua o te tatauranga mai i tetahi mahi ki tera mahi, kaua hoki e tiakina nga hua takawaenga.

Me tango te tauira waehere e whai ake nei, kei reira ka penapenahia nga tatauranga takawaenga ki nga mea motuhake:

temp_object <- func1()
temp_object2 <- func2(temp_object )
obj <- func3(temp_object2 )

E 3 nga mahi i mahia e matou, a, ko te hua o ia mea i tiakina ki tetahi mea motuhake. Engari ko te tikanga, karekau e hiahiatia enei taonga takawaenga.

He kino atu ranei, engari he maamaa ake ki nga kaiwhakamahi Excel.

obj  <- func3(func2(func1()))

I tenei keehi, kaore i tiakina e matou nga hua tatauranga takawaenga, engari he tino rawe te panui waehere me nga mahi kohanga.

Ka tirohia e matou etahi huarahi ki te tukatuka raraunga i roto i te R, a ka mahi i nga mahi rite ki nga huarahi rereke.

Nga paipa i te whare pukapuka tidyverse ka whakatinanahia e te kaiwhakahaere %>%.

obj <- func1() %>% 
            func2() %>%
            func3()

Na ka tango tatou i te hua o te mahi func1() ka tukuna hei tohenga tuatahi ki func2(), katahi ka tukuna te hua o tenei tatauranga hei tohenga tuatahi func3(). A, i te mutunga, ka tuhia e matou nga tatauranga katoa i mahia ki roto i te ahanoa obj <-.

Ko nga mea katoa i runga ake nei he pai ake te whakaahua i nga kupu na tenei meme:
Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

В data.table he rite tonu te whakamahia o nga mekameka.

newDT <- DT[where, select|update|do, by][where, select|update|do, by][where, select|update|do, by]

I ia o nga taiapa tapawha ka taea e koe te whakamahi i te hua o te mahi o mua.

В pandas ka wehea aua mahi e te ira.

obj = df.fun1().fun2().fun3()

Ko era. tango tatou i ta tatou tepu df me te whakamahi i tana tikanga fun1(), katahi ka whakamahia e matou te tikanga ki te hua kua puta fun2()i muri fun3(). Ko te hua ka tiakina ki tetahi ahanoa obj .

Nga hanganga raraunga

He rite nga hanganga raraunga i roto i te R me te Python, engari he rereke nga ingoa.

Whakaahuatanga
Ingoa i roto i te R
Ingoa i roto i te Python/pandas

Hanganga ripanga
raraunga.frame, raraunga.table, tibble
Anga Raraunga

Rarangi uara ahu kotahi
Vector
He raupapa i roto i te pandas, he rarangi ranei i te Python parakore

Nga taumata-maha-kore te hanganga
Rarangi
Papakupu (dict)

Ka titiro tatou ki etahi atu ahuatanga me nga rereketanga o te wetereo i raro nei.

He kupu torutoru mo nga kete ka whakamahia e matou

Tuatahi, ka korero atu ahau ki a koe mo nga kohinga ka mohio koe ki tenei tuhinga.

tidyverse

Paetukutuku paetukutuku: tidyverse.org
Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki
whare pukapuka tidyverse i tuhia e Hedley Wickham, Kaiputaiao Rangahau Matua i RStudio. tidyverse he huinga whakamīharo o nga kohinga e whakangwari ana i te tukatuka raraunga, e 5 kei roto i nga tangohanga 10 o runga mai i te putunga CRAN.

Ko te matua o te whare pukapuka ko nga kohinga e whai ake nei: ggplot2, dplyr, tidyr, readr, purrr, tibble, stringr, forcats. Ko ia o enei kohinga e whai ana ki te whakaoti rapanga motuhake. Hei tauira dplyr i hangaia mo te raweke raraunga, tidyr ki te kawe i nga raraunga ki te ahua pai, stringr ka whakangawari te mahi me nga aho, me te ggplot2 Ko tetahi o nga taputapu whakaata raraunga tino rongonui.

painga tidyverse Ko te ngawari me te ngawari ki te panui i te syntax, he maha nga ahuatanga e rite ana ki te reo patai SQL.

raraunga.table

Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hokiPaetukutuku paetukutuku: r-datatable.com

Na data.table ko Matt Dole o H2O.ai.

I te tau 2006 te putanga tuatahi o te whare pukapuka.

Ko te wetereo putea kaore i te watea penei i roto tidyverse me te maumahara ake ki nga anga raraunga matarohia i roto i te R, engari i te wa ano i tino whakanuia te mahi.

Ko nga raweke katoa me te ripanga i roto i tenei kete ka whakaahuahia ki nga taiapa tapawha, a ki te whakamaoritia e koe te wetereo data.table i roto i te SQL, ka whiwhi koe i tetahi mea penei: data.table[ WHERE, SELECT, GROUP BY ]

Ko te kaha o tenei kete ko te tere o te tukatuka i te nui o nga raraunga.

porangi

Paetukutuku paetukutuku: pandas.pydata.org Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

Ko te ingoa o te whare pukapuka i ahu mai i te kupu ohaoha "raraunga paewhiri", whakamahia hei whakaahua i nga huinga korero hanga maha.

Na pandas ko Amerika a Wes McKinney.

Ina tae mai ki te tātari raraunga i roto i te Python, he rite pandas Kao. He kohinga tino maha, taumata teitei e taea ai e koe te mahi i nga mahi raweke me nga raraunga, mai i te uta i nga raraunga mai i tetahi puna ki te tiro.

Te whakauru i etahi atu kete

Ko nga kohinga e korerohia ana i tenei tuhinga kaore i whakauruhia ki roto i nga tohatoha taketake R me Python. Ahakoa he iti noa te whakatupato, mena kua whakauruhia e koe te tohatoha Anaconda, katahi ka whakauru ano pandas kaua e hiahiatia.

Ko te whakauru i nga kohinga ki R

Mena kua whakatuwherahia e koe te taiao whanaketanga RStudio i te iti rawa i te kotahi, kua mohio pea koe ki te whakauru i te kete e hiahiatia ana ki R. Hei whakauru i nga kohinga, whakamahia te whakahau paerewa install.packages() ma te whakahaere tika i roto i a R ano.

# установка пакетов
install.packages("vroom")
install.packages("readr")
install.packages("dplyr")
install.packages("data.table")

I muri i te whakaurunga, me hono nga paanui, mo te nuinga o nga keehi ka whakamahia te whakahau library().

# подключение или импорт пакетов в рабочее окружение
library(vroom)
library(readr)
library(dplyr)
library(data.table)

Tāuta pōkai ki Python

Na, mena kua whakauruhia e koe a Python parakore, na pandas me tāuta ā-ringa koe. Whakatuwherahia he raina whakahau, he tauranga ranei, i runga i to punaha whakahaere ka uru ki te whakahau e whai ake nei.

pip install pandas

Na ka hoki matou ki Python ka kawemai i te kete kua whakauruhia me te whakahau import.

import pandas as pd

Uta Raraunga

Ko te keri raraunga tetahi o nga mahi tino nui i roto i te tātari raraunga. Ko te Python me te R, ki te hiahiatia, ka whai waahi nui ki a koe ki te tiki raraunga mai i nga puna korero: nga konae a-rohe, nga konae mai i te Ipurangi, nga paetukutuku, nga momo putunga raraunga katoa.

Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

I roto i te tuhinga ka whakamahia e matou he maha o nga huingararaunga:

  1. E rua nga tangohanga mai i a Google Analytics.
  2. Raraunga Raraunga Pahihi Titanic.

Ko nga raraunga katoa kei runga i taku GitHub i te ahua o nga konae csv me tsv. No hea ta tatou e tono ai?

Te uta raraunga ki R: tidyverse, vroom, readr

Hei uta raraunga ki te whare pukapuka tidyverse E rua nga kete: vroom, readr. vroom he hou ake, engari hei nga ra kei te heke mai ka whakakotahihia nga kete.

Korero mai tuhinga whaimana vroom.

vroom vs kaipānui
He aha te tukunga o vroom tikanga mo readr? Inaianei kei te whakamahere maatau kia wehe kee nga paanui e rua, engari tera pea ka whakakotahihia e matou nga kete a meake nei. Ko tetahi ngoikoretanga ki te panui mangere a vroom ko etahi raru raraunga kaore e taea te korero ki mua, na me pehea te whakakotahi i a raatau me whakaaro.

vroom vs kaipānui
He aha te tikanga o te tuku? vroom ki readr? I tenei wa e whakaaro ana matou ki te whakawhanake motuhake i nga kohinga e rua, engari ka whakakotahihia e matou a meake nei. Ko tetahi o nga kino o te panui mangere vroom Ko etahi raruraru me nga raraunga kaore e taea te korero i mua, na me whakaaro koe me pehea te pai ki te whakakotahi.

I roto i tenei tuhinga ka titiro tatou ki nga kohinga uta raraunga e rua:

E uta ana i nga raraunga ki roto i te kete 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")

Uta ana i nga raraunga ki 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")

I roto i te moenga vroom, ahakoa he aha te whakatakotoranga raraunga csv / tsv, ko te utaina ka mahia e te mahi o taua ingoa vroom(), i roto i te kete readr whakamahi tatou i te mahi rerekē mo ia hōputu read_tsv() и read_csv().

Te uta raraunga ki R: data.table

В data.table he mahi mo te uta raraunga fread().

E uta ana i nga raraunga ki roto i te R: data.table 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")

Te uta i nga raraunga ki te Python: pandas

Mena ka whakatauritea ki nga kohinga R, na tenei ahuatanga ko te wetereo e tata ana ki pandas ka waiho readr, no te mea pandas Ka taea te tono raraunga mai i nga waahi katoa, a he whanau katoa nga mahi kei roto i tenei kete read_*().

  • read_csv()
  • read_excel()
  • read_sql()
  • read_json()
  • read_html()

Me te maha atu o nga mahi i hangaia hei panui raraunga mai i nga momo whakatakotoranga. Engari mo o tatou kaupapa kua ranea read_table() ranei read_csv() te whakamahi tautohe Sep hei whakapūtā te whakawehe tīwae.

Te uta i nga raraunga ki te 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")

Te hanga anga raraunga

Ripanga Titanic, i utaina e matou, he mara sex, e pupuri ana i te tohu ira tangata o te kaihihi.

Engari mo te whakaaturanga pai ake o nga raraunga mo te ira tangata, me whakamahi koe i te ingoa kaua te waehere ira tangata.

Ki te mahi i tenei, ka hanga e matou he raarangi iti, he ripanga ka 2 noa nga pou (waehere me te ingoa ira tangata) me nga rarangi e 2.

Te hanga anga raraunga ki R: tidyverse, dplyr

I roto i te tauira waehere i raro nei, ka hangaia e matou te anga raraunga e hiahiatia ana ma te whakamahi i te mahi tibble() .

Te hanga anga raraunga ki R: dplyr

## dplyr
### создаём справочник
gender <- tibble(id = c(1, 2),
                 gender = c("female", "male"))

Te hanga anga raraunga ki R: data.table

Te hanga anga raraunga ki R: data.table

## data.table
### создаём справочник
gender <- data.table(id = c(1, 2),
                    gender = c("female", "male"))

Te hanga anga raraunga ki Python: pandas

В pandas Ko te hanga papa he maha nga waahanga, i te tuatahi ka hangaia he papakupu, katahi ka hurihia te papakupu hei anga raraunga.

Te hanga anga raraunga ki Python: pandas

# создаём дата фрейм
gender_dict = {'id': [1, 2],
               'gender': ["female", "male"]}
# преобразуем словарь в датафрейм
gender = pd.DataFrame.from_dict(gender_dict)

Te Whiriwhiri i nga Tiwae

Kei roto pea i nga ripanga e mahi tahi ana koe he tatini, he rau ranei nga pou o nga raraunga. Engari ki te mahi tātari, hei tikanga, kaore koe e hiahia ki nga pou katoa e waatea ana i te ripanga puna.

Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

No reira, ko tetahi o nga mahi tuatahi ka mahia e koe me te ripanga puna ko te whakakore i nga korero koretake me te whakaatea i te mahara kei roto i enei korero.

Te whiriwhiri i nga pou i roto i te R: tidyverse, dplyr

wetereo dplyr he tino rite ki te reo patai SQL, mena ka mohio koe ka tere to mohio ki tenei kete.

Hei whiriwhiri i nga pou, whakamahia te mahi select().

Kei raro nei nga tauira o te waehere ka taea e koe te kowhiri i nga pou ma nga huarahi e whai ake nei:

  • Te whakarārangi i ngā ingoa o ngā tīwae e hiahiatia ana
  • Tirohia nga ingoa pou ma te whakamahi i nga korero auau
  • Ma te momo raraunga, etahi atu taonga ranei o nga raraunga kei roto i te pou

Kei te whiriwhiri i nga pou i roto i te 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)

Te whiriwhiri i nga pou i roto i te R: data.table

Ko nga mahi ano i roto data.table He rereke nga mahi, i te timatanga o te tuhinga ka hoatu e ahau he whakamaarama mo nga tautohetohe kei roto i nga taiapa tapawha data.table.

DT[i,j,by]

Kei hea:
i - kei hea, i.e. tātari mā ngā haupae
j - tīpako|whakahōu|mahi, arā. te whiriwhiri i nga pou me te huri
na - whakarōpū raraunga

Te whiriwhiri i nga pou i roto i te 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$")]

Taurangi .SD ka taea e koe te uru ki nga pou katoa, a .SDcols tātarihia nga pou e hiahiatia ana ma te whakamahi i nga korero auau, etahi atu mahi ranei hei tarai i nga ingoa o nga pou e hiahia ana koe.

Te whiriwhiri i nga pou i roto i te Python, pandas

Hei whiriwhiri i nga pou ma te ingoa i roto pandas he nui noa te whakatakoto i te rarangi ingoa o ratou. A ki te whiriwhiri, ki te whakakore ranei i nga pou ma te ingoa ma te whakamahi i nga korero auau, me whakamahi koe i nga mahi drop() и filter(), me te tautohetohe tuaka=1, e tohu ana koe he mea tika ki te tukatuka i nga pou kaore nga rarangi.

Hei whiriwhiri i tetahi mara ma te momo raraunga, whakamahia te mahi select_dtypes(), me nga tautohetohe ngā ranei whakakore tukuna he rarangi o nga momo raraunga e pa ana ki nga mara e hiahia ana koe ki te whiriwhiri.

Te whiriwhiri i nga pou i roto i te 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'])

Tātari rarangi

Hei tauira, he maha nga tau o nga raraunga kei roto i te ripanga puna, engari me tātari noa koe i te marama kua hipa. Ano, ko nga raina taapiri ka whakaroa i te tukanga tukatuka raraunga me te kapohia te mahara PC.

Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

Tātari haupae i R: tydyverse, dplyr

В dplyr ka whakamahia te mahi ki te tātari rarangi filter(). Ka tangohia he anga raraunga hei tohenga tuatahi, katahi ka whakarārangihia e koe nga tikanga tātari.

I te wa e tuhi ana i nga korero arorau ki te tarai i tetahi ripanga, i tenei keehi, tohua nga ingoa tīwae me te kore korukī me te kore e whakapuaki i te ingoa ripanga.

Ina whakamahi i nga korero arorau maha hei tātari, whakamahia nga kaiwhakahaere e whai ake nei:

  • & te piko ranei - arorau ME
  • | - arorau RĀNEI

Tātari haupae i R: dplyr

# фильтрация строк
## dplyr
### фильтрация строк по одному условию
filter(ga_nov, source == "google")
### фильтр по двум условиям соединённым логическим и
filter(ga_nov, source == "google" & sessions >= 10)
### фильтр по двум условиям соединённым логическим или
filter(ga_nov, source == "google" | sessions >= 10)

Tātari haupae i R: data.table

I tuhia e au i runga ake nei, in data.table Ko te wetereo whakawhiti raraunga kua kohia ki nga taiapa tapawha.

DT[i,j,by]

Kei hea:
i - kei hea, i.e. tātari mā ngā haupae
j - tīpako|whakahōu|mahi, arā. te whiriwhiri i nga pou me te huri
na - whakarōpū raraunga

Ka whakamahia te tautohe hei tātari haupae i, kei a ia te turanga tuatahi i roto i nga taiapa tapawha.

Ka uru atu nga pou i roto i nga korero arorau kaore he tohu whakahua me te kore e tohua te ingoa ripanga.

Ko nga korero arorau e hono ana tetahi ki tetahi i roto i te ahua o roto dplyr na roto i nga kaiwhakahaere & me |.

Tātari haupae i R: data.table

## data.table
### фильтрация строк по одному условию
ga_nov[source == "google"]
### фильтр по двум условиям соединённым логическим и
ga_nov[source == "google" & sessions >= 10]
### фильтр по двум условиям соединённым логическим или
ga_nov[source == "google" | sessions >= 10]

Tātari aho i roto i te Python: pandas

Tātarihia mā ngā haupae ki roto pandas he rite ki te tātari i roto data.table, ka mahia ki nga taiapa tapawha.

I tenei keehi, ko te uru ki nga pou ka mahia ma te tohu i te ingoa o te anga raraunga; katahi ka taea te tohu te ingoa o te pou ki nga tohu whakahua i nga taiapa tapawha (tauira df['col_name']), karekau ranei he korukī i muri i te wā (tauira df.col_name).

Mena ka hiahia koe ki te tarai i tetahi anga raraunga ma te maha o nga tikanga, me whakanoho ia ahuatanga ki roto i nga reu. Ko nga tikanga arorau e hono ana tetahi ki tetahi e nga kaiwhakahaere & и |.

Tātari aho i roto i te 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)]

Te whakarōpū me te whakahiato raraunga

Ko tetahi o nga mahi e tino whakamahia ana i roto i te tātari raraunga ko te whakarōpū me te whakahiato.

Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

Ko te wetereo mo te mahi i enei mahi kua marara ki nga kohinga katoa ka arotakehia e matou.

I tenei keehi, ka tangohia e matou he anga raraunga hei tauira Titanic, me te tatau i te tau me te utu toharite o nga tikiti i runga i te karaehe whare.

Te whakarōpū me te whakahiato raraunga ki R: tidyverse, dplyr

В dplyr ka whakamahia te mahi mo te whakarōpū group_by(), mo te whakahiato summarise(). Ko te tikanga, dplyr he whanau katoa nga mahi summarise_*(), engari ko te kaupapa o tenei tuhinga he whakatairite i te wetereo taketake, kia kore matou e haere ki roto i taua ngahere.

Nga mahi whakahiato taketake:

  • sum() — whakarāpopototanga
  • min() / max() – te iti me te uara teitei
  • mean() - toharite
  • median() — waenga
  • length() - rahinga

Te whakarōpū me te whakahiato ki R: dplyr

## dplyr
### группировка и агрегация строк
group_by(titanic, Pclass) %>%
  summarise(passangers = length(PassengerId),
            avg_price  = mean(Fare))

Ki te mahi group_by() i paahitia e matou te teepu hei tohenga tuatahi Titanic, ka tohu i te mara Pclass, ma reira ka whakarōpūhia ta tatou tepu. Ko te hua o tenei mahi ma te whakamahi i te kaiwhakahaere %>% i paahitia hei tohenga tuatahi ki te mahi summarise(), me te taapiri kia 2 ano nga mara: hunga haere и utu_utu. I te tuatahi, ma te whakamahi i te mahi length() i tatauhia te maha o nga tikiti, a i te tuarua ma te whakamahi i te mahi mean() riro te utu tiiti toharite.

Te whakarōpū me te whakahiato raraunga ki R: raraunga.tepu

В data.table ka whakamahia te tautohe mo te whakahiato j he waahi tuarua kei roto i nga taiapa tapawha, me te whakarōpūtanga by ranei keyby, kei a ratou te turanga tuatoru.

Ko te rarangi o nga mahi whakahiato i tenei keehi he rite ki tera i whakaahuahia i roto dplyr, no te mea he mahinga enei mai i te wetereo R taketake.

Te whakarōpū me te whakahiato i roto i te R: data.table

## data.table
### фильтрация строк по одному условию
titanic[, .(passangers = length(PassengerId),
            avg_price  = mean(Fare)),
        by = Pclass]

Te whakarōpū me te whakahiato raraunga ki te Python: pandas

Whakarōpū i roto pandas rite ki dplyr, engari kaore i te rite te whakahiatotanga dplyr kaore i runga data.table.

Ki te whakarōpū, whakamahia te tikanga groupby(), me tuku he rarangi o nga pou e whakarōpūhia ai te anga raraunga.

Mo te whakahiato ka taea e koe te whakamahi i te tikanga agg()e whakaae ana ki te papakupu. Ko nga taviri papakupu nga pou hei whakamahi i nga mahi whakahiato, ko nga uara ko nga ingoa o nga mahi whakahiato.

Nga mahi whakahiato:

  • sum() — whakarāpopototanga
  • min() / max() – te iti me te uara teitei
  • mean() - toharite
  • median() — waenga
  • count() - rahinga

mahi reset_index() i roto i te tauira i raro nei ka whakamahia ki te tautuhi ano i nga taurangi kohanga tera pandas ka taunoa ki muri i te whakahiato raraunga.

Tohu ka taea e koe te neke ki te rarangi e whai ake nei.

Te whakarōpū me te whakahiato i te Python: pandas

# группировка и агрегация данных
titanic.groupby(["Pclass"]).
    agg({'PassengerId': 'count', 'Fare': 'mean'}).
        reset_index()

Hono poutū o nga ripanga

He mahi e hono ana koe kia rua, neke atu ranei nga ripanga o te hanganga kotahi. Ko nga raraunga i utaina e matou he ripanga ga_nov и ga_dec. He rite tonu te hanganga o enei tepu, i.e. he rite nga pou, me nga momo raraunga kei enei pou.

Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

He tukunga ake tenei na Google Analytics mo te marama o Whiringa-a-rangi me Tihema, i tenei wahanga ka whakakotahihia e matou enei raraunga ki te ripanga kotahi.

Te hono poutū ki nga ripanga ki R: tidyverse, dplyr

В dplyr Ka taea e koe te whakakotahi i nga tepu e 2 ki te kotahi ma te whakamahi i te mahi bind_rows(), whakawhiti ripanga hei tohenga.

Tātari haupae i R: dplyr

# Вертикальное объединение таблиц
## dplyr
bind_rows(ga_nov, ga_dec)

Te hono poutū ki nga ripanga ki R: data.table

Ehara hoki i te mea uaua, me whakamahi rbind().

Tātari haupae i R: data.table

## data.table
rbind(ga_nov, ga_dec)

Te hono poutū ki nga ripanga ki te Python: pandas

В pandas ka whakamahia te mahi ki te hono i nga ripanga concat(), me tuku e koe he rarangi papa hei whakakotahi.

Tātari aho i roto i te Python: pandas

# вертикальное объединение таблиц
pd.concat([ga_nov, ga_dec])

Hononga whakapae o nga ripanga

He mahinga ka taapirihia nga pou mai i te tuarua ki te ripanga tuatahi ma te ki. He maha nga wa e whakamahia ana ina whakarangatira i te ripanga meka (hei tauira, he ripanga me nga raraunga hoko) me etahi raraunga tohutoro (hei tauira, te utu o tetahi hua).

Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

He maha nga momo hono:

Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

I te ripanga i utaina i mua Titanic he pou ta matou sex, e hāngai ana ki te waehere ira tangata o te pāhihi:

1 - wahine
2 - tane

Ano, kua hanga e matou he ripanga - he pukapuka tohutoro ira tangata. Mo te whakaaturanga pai ake o nga raraunga mo te ira tangata o nga kaihihi, me taapiri te ingoa o te ira tangata mai i te raarangi ira tangata ki te tepu Titanic.

Hono tepu whakapae ki R: tidyverse, dplyr

В dplyr He whanau katoa nga mahi mo te hono whakapae:

  • inner_join()
  • left_join()
  • right_join()
  • full_join()
  • semi_join()
  • nest_join()
  • anti_join()

Ko te mea tino whakamahia i roto i aku mahi left_join().

I te mea ko nga tohenga tuatahi e rua, ko nga mahi kua whakarārangihia i runga ake nei e rua nga ripanga hei hono, hei tohenga tuatoru by me tohu e koe nga pou hei whakauru.

Whakauruhia te ripanga whakapae ki R: dplyr

# объединяем таблицы
left_join(titanic, gender,
          by = c("Sex" = "id"))

Hononga whakapae o nga ripanga i roto i te R: data.table

В data.table Me hono koe ki nga ripanga ma te matua ma te whakamahi i te mahi merge().

Tohenga ki te hanumi () mahi i roto i te data.table

  • x, y — Ripanga hei hono
  • na — Ko te rarangi te mea matua hei whakauru mena he rite tona ingoa ki nga papa e rua
  • by.x, by.y — Ko nga ingoa tīwae hei hanumi, mena he rereke nga ingoa kei roto i nga ripanga.
  • all, all.x, all.y — Momo hono, ka whakahoki katoa nga rarangi katoa mai i nga ripanga e rua, all.x e rite ana ki te mahi WHAKATOI MAUI (ka waiho nga rarangi katoa o te ripanga tuatahi), all.y — e rite ana ki te RIGHT JOIN mahi (ka waiho nga rarangi katoa o te ripanga tuarua ).

Hononga whakapae o nga ripanga i roto i te R: data.table

# объединяем таблицы
merge(titanic, gender, by.x = "Sex", by.y = "id", all.x = T)

Ka hono te ripanga whakapae ki te Python: pandas

Waihoki i roto data.tablei roto pandas ka whakamahia te mahi ki te hono i nga ripanga merge().

Nga tautohetohe mo te hanumi() mahi i roto i nga pandas

  • pehea — Momo hononga: maui, matau, waho, roto
  • kei runga — Ko te rarangi he matua mena he rite tona ingoa ki nga ripanga e rua
  • left_on, right_on — Nga ingoa o nga pou matua, mena he rereke nga ingoa kei roto i nga ripanga

Ka hono te ripanga whakapae ki te Python: pandas

# объединяем по ключу
titanic.merge(gender, how = "left", left_on = "Sex", right_on = "id")

Nga mahi matapihi taketake me nga pou tatau

He rite te tikanga o nga mahi Matapihi ki nga mahi whakahiato, he maha tonu te whakamahi i roto i te tātari raraunga. Engari kaore i rite ki nga mahi whakahiato, kaore nga mahi matapihi e whakarereke i te maha o nga rarangi o te anga raraunga puta.

Ko tehea reo hei whiriwhiri mo te mahi me nga raraunga - R, Python ranei? E rua! Te heke mai i te pandas ki te tidyverse me te raraunga. tepu me te hoki

Ko te tikanga, ma te whakamahi i te mahi matapihi, ka wehea e matou te anga raraunga taumai ki etahi waahanga e ai ki etahi paearu, i.e. ma te uara o tetahi mara, etahi mara ranei. A ka mahia e matou nga mahi tatau ki ia matapihi. Ko te hua o enei mahi ka whakahokia ki ia rarangi, i.e. me te kore e huri i te tapeke maha o nga rarangi o te ripanga.

Hei tauira, me tango te tepu Titanic. Ka taea e taatau te tatau he aha te paheketanga o te utu mo ia tiiti i roto i tana karaehe.

Ki te mahi i tenei, me uru ki ia raina te utu katoa o te tiiti mo te karaehe o naianei kei roto te tikiti i tenei raina, katahi ka wehewehea te utu mo ia tiiti ki te utu katoa o nga tikiti katoa o te karaehe kotahi. .

Ka mahi te Matapihi ki te R: tidyverse, dplyr

Hei tāpiri tīwae hōu, me te kore whakamahi whakarōpū haupae, ki roto dplyr mahi mahi mutate().

Ka taea e koe te whakaoti rapanga kua whakaahuatia i runga ake nei ma te whakarōpū raraunga ma te mara Pclass me te whakarāpopoto i te āpure ki tētahi tīwae hōu Tuhinga. Whai muri, wetewetehia te ripanga ka wehea nga uara mara Tuhinga ki nga mea i tupu i te taahiraa o mua.

Mahi Matapihi i roto i te R: dplyr

group_by(titanic, Pclass) %>%
  mutate(Pclass_cost = sum(Fare)) %>%
  ungroup() %>%
  mutate(ticket_fare_rate = Fare / Pclass_cost)

Mahi Matapihi i roto i te R: data.table

He rite tonu te otinga algorithm ki roto dplyr, me wehewehe te ripanga ki nga matapihi ma te mara Pclass. Whakaputahia ki roto i tetahi pou hou te moni mo te roopu e rite ana ki ia rarangi, ka taapirihia he pou hei tatau i te wahanga o te utu mo ia tiiti i roto i tana roopu.

Hei taapiri i nga pou hou ki data.table kei reira te kaiwhakahaere :=. Kei raro nei he tauira o te whakaoti rapanga ma te whakamahi i te kete data.table

Mahi Matapihi i roto i te R: data.table

titanic[,c("Pclass_cost","ticket_fare_rate") := .(sum(Fare), Fare / Pclass_cost), 
        by = Pclass]

Mahi Matapihi ki Python: pandas

Ko tetahi huarahi ki te taapiri i tetahi pou hou ki pandas - whakamahia te mahi assign(). Hei whakarāpopoto i te utu o ngā tīkiti mā te karaehe kāpene, me te kore whakarōpū rārangi, ka whakamahia e mātou te mahi transform().

Kei raro nei he tauira o te otinga hei taapiri atu ki te ripanga Titanic e 2 nga pou kotahi ano.

Mahi Matapihi ki Python: pandas

titanic.assign(Pclass_cost      =  titanic.groupby('Pclass').Fare.transform(sum),
               ticket_fare_rate = lambda x: x['Fare'] / x['Pclass_cost'])

Mahi me nga tikanga tepu reta reta

Kei raro nei he ripanga reta i waenga i nga tikanga mo te whakahaere i nga momo mahi me nga raraunga kei roto i nga kete kua whakaarohia e matou.

Whakaahuatanga
tidyverse
raraunga.table
porangi

Uta Raraunga
vroom()/ readr::read_csv() / readr::read_tsv()
fread()
read_csv()

Te hanga anga raraunga
tibble()
data.table()
dict() + from_dict()

Te Whiriwhiri i nga Tiwae
select()
tautohe j, te turanga tuarua i roto i nga taiapa tapawha
ka tukuna e matou te rarangi o nga pou e hiahiatia ana i roto i nga taiapa tapawha / drop() / filter() / select_dtypes()

Tātari rarangi
filter()
tautohe i, te turanga tuatahi i roto i nga taiapa tapawha
Ka whakarārangihia e mātou ngā tikanga tātari ki ngā taiapa tapawhā / filter()

Te whakarōpū me te whakahiato
group_by() + summarise()
nga tautohetohe j + by
groupby() + agg()

Uniana poutū o ngā ripanga (UNION)
bind_rows()
rbind()
concat()

Hononga whakapae o nga ripanga (HUIA)
left_join() / *_join()
merge()
merge()

Nga mahi matapihi taketake me te taapiri i nga pou tatau
group_by() + mutate()
tautohe j te whakamahi i te kaiwhakahaere := + tautohe by
transform() + assign()

mutunga

Akene i roto i te tuhinga i whakaahuahia e au ehara i te mea tino pai te whakatinanatanga o te tukatuka raraunga, no reira ka koa ahau ki te whakatika koe i aku hapa i roto i nga korero, ka taapiri noa ranei i nga korero i tukuna i roto i te tuhinga me etahi atu tikanga mo te mahi me nga raraunga i roto i te R / Python.

Ka rite ki taku i tuhi i runga ake nei, ko te kaupapa o te tuhinga, ehara i te kii i te whakaaro o te tangata ko tehea te reo e pai ake ana, engari ko te whakangawari ake i te whai waahi ki te ako i nga reo e rua, ki te mea e tika ana, me heke ki waenganui i a raatau.

Mena i pai ki a koe te tuhinga, ka koa ahau ki te whai kaiohauru hou ki taku youtube и waea waea hongere.

Poll

Ko tehea o nga kohinga e whai ake nei ka whakamahia e koe i roto i to mahi?

I roto i nga korero ka taea e koe te tuhi i te take mo to whiringa.

Ko nga kaiwhakamahi kua rehita anake ka uru ki te rangahau. Waitohu maitēnā.

Ko tehea kete tukatuka raraunga ka whakamahia e koe (ka taea e koe te kowhiri i nga whiringa maha)

  • 45,2 orautidyverse19

  • 33,3 orauraraunga.tepu14

  • 54,8 orauparara23

42 nga kaiwhakamahi i pooti. 9 nga kaiwhakamahi i aukati.

Source: will.com

Tāpiri i te kōrero