ProHoster > Блог > Whakahaerenga > 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 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 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.
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:
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:
В data.table he rite tonu te whakamahia o nga mekameka.
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
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
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.
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.
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.
I roto i te tuhinga ka whakamahia e matou he maha o nga huingararaunga:
E rua nga tangohanga mai i a Google Analytics.
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.
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
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
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.
В 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.
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
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.
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 (tauiradf['col_name']), karekau ranei he korukī i muri i te wā (tauiradf.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 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.
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.
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).
He maha nga momo hono:
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
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 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.
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.
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.