ProHoster > Блог > Nchịkwa > Kedu asụsụ ị ga-ahọrọ maka iji data rụọ ọrụ - R ma ọ bụ Python? Ha abụọ! Ịkwaga na pandas gaa na nhazi na data.table na azụ
Kedu asụsụ ị ga-ahọrọ maka iji data rụọ ọrụ - R ma ọ bụ Python? Ha abụọ! Ịkwaga na pandas gaa na nhazi na data.table na azụ
Site n'ịchọ R ma ọ bụ Python na ịntanetị, ị ga-ahụ ọtụtụ nde akụkọ na mkparịta ụka kilomita na isiokwu nke nke ka mma, ngwa ngwa na adaba maka ịrụ ọrụ na data. Mana ọ dị nwute, akụkọ na esemokwu ndị a niile anaghị aba uru.
Ebumnuche nke isiokwu a bụ iji tụnyere usoro nhazi data bụ isi na ngwungwu kachasị ewu ewu nke asụsụ abụọ ahụ. Ma nyere ndị na-agụ akwụkwọ aka ka ha mara ihe ha na-amabeghị. Maka ndị na-ede na Python, chọpụta otu esi eme otu ihe ahụ na R, na ntụgharị.
N'oge isiokwu anyị ga-enyocha syntax nke ngwugwu kachasị ewu ewu na R. Ndị a bụ ngwugwu gụnyere n'ọbá akwụkwọ. tidyverseyana ngwugwu data.table. Ma tụnyere ha syntax na pandas, ngwugwu nyocha data kachasị ewu ewu na Python.
Anyị ga-aga nzọụkwụ site na usoro nyocha data niile site na itinye ya ruo na-arụ ọrụ windo nyocha site na iji Python na R.
Ihe
Enwere ike iji akụkọ a dị ka mpempe akwụkwọ aghụghọ ma ọ bụrụ na ị chefuola otu esi arụ ọrụ nhazi data na otu n'ime ngwugwu ndị a na-atụle.
Ọ bụrụ na ị nwere mmasị na nyocha data, ị nwere ike ịchọta nke m telegram и youtube ọwa. A na-arara ọtụtụ ọdịnaya maka asụsụ R.
Isi syntax dị iche n'etiti R na Python
Iji mee ka ọ dịrị gị mfe ịgbanwe site na Python gaa na R, ma ọ bụ ọzọ, m ga-enye isi ihe ole na ole ị kwesịrị ịṅa ntị na ya.
Ịnweta Ọrụ ngwugwu
Ozugbo etinyere ngwugwu n'ime R, ịkwesighi ịkọwa aha ngwugwu iji nweta ọrụ ya. N'ọtụtụ ọnọdụ nke a anaghị adịkarị na R, mana ọ na-anabata ya. Ịkwesighi ibubata ngwugwu ma ọ bụrụ na ịchọrọ otu n'ime ọrụ ya na koodu gị, mana naanị kpọọ ya site na ịkọwa aha ngwugwu na aha ọrụ ahụ. Ihe nkewa n'etiti ngwugwu na aha ọrụ dị na R bụ eriri okpukpu abụọ. package_name::function_name().
Na Python, n'ụzọ megidere nke ahụ, a na-ewere ya dị ka ihe ochie ịkpọ ọrụ nke ngwugwu site na ịkọwa aha ya nke ọma. Mgbe ebudatara ngwugwu, a na-enyekarị ya aha mkpirisi, dịka ọmụmaatụ. pandas na-ejikarị aha pseudonym pd. A na-enweta ọrụ ngwugwu site na ntụpọ package_name.function_name().
Ihe omume
Na R, ọ na-adịkarị iji akụ iji kenye uru n'ihe. obj_name <- value, ọ bụ ezie na a na-ahapụ otu akara nhata, otu akara nhata na R ka a na-eji isi na-agafe ụkpụrụ iji rụọ ọrụ arụmụka.
Na Python, a na-eme ọrụ naanị site na iji otu akara nhata obj_name = value.
Indexing
Enwekwara nnukwu ọdịiche dị n'ebe a. Na R, ntinye aha na-amalite n'otu ma tinye ihe niile akọwapụtara na nso nso a,
Na Python, indexing na-amalite site na efu na oke ahọpụtara anaghị agụnye ihe ikpeazụ akọwapụtara na ndeksi. Ya mere imewe x[i:j] na Python agaghị agụnye ihe j.
E nwekwara ndịiche na nrịbama na-adịghị mma, na R notation x[-1] ga-eweghachi ihe niile nke vector ma e wezụga nke ikpeazụ. Na Python, akara ngosi yiri nke ahụ ga-eweghachi naanị ihe ikpeazụ.
Ụzọ na OOP
R mejuputa OOP n'ụzọ nke ya, m dere banyere nke a n'isiokwu "OOP n'asụsụ R (akụkụ 1): Klas S3". N'ozuzu, R bụ asụsụ na-arụ ọrụ, na ihe niile dị na ya na-arụ ọrụ. Ya mere, dịka ọmụmaatụ, maka ndị ọrụ Excel, gaa na tydiverse ọ ga-adị mfe karịa pandas. Ọ bụ ezie na nke a nwere ike ịbụ echiche nke onwe m.
Na nkenke, ihe dị na R enweghị ụzọ (ọ bụrụ na anyị na-ekwu maka klas S3, mana enwere mmejuputa OOP ndị ọzọ nke na-adịkarị obere). Enwere naanị ọrụ a chịkọtara ọnụ na-ahazi ha n'ụzọ dị iche dabere na klas nke ihe ahụ.
Pipeline
Ikekwe nke a bụ aha maka pandas Ọ gaghị adịcha mma, mana m ga-agbalị ịkọwa ihe ọ pụtara.
Ka ị ghara ịchekwa ngụkọta nke etiti ma ghara ịmepụta ihe ndị na-adịghị mkpa na gburugburu ebe ọrụ, ị nwere ike iji ụdị pipeline. Ndị ahụ. nyefee nsonaazụ nke ngụkọta oge site n'otu ọrụ gaa na nke ọzọ, ma chekwaa nsonaazụ etiti.
Ka anyị were ihe atụ koodu na-esonụ, ebe anyị na-echekwa ngụkọta oge n'ihe dị iche iche:
Anyị rụrụ ọrụ 3 n'usoro, ma echekwara nsonaazụ nke ọ bụla n'ime ihe dị iche. Mana n'ezie, anyị achọghị ihe ndị a etiti.
Ma ọ bụ ọbụna njọ, mana ndị ọrụ Excel maara nke ọma.
obj <- func3(func2(func1()))
N'okwu a, anyị echekwaghị nsonaazụ ngụkọ etiti, mana koodu ọgụgụ nwere ọrụ akwụghị ụgwọ adịghị mma.
Anyị ga-eleba anya n'ọtụtụ ụzọ maka nhazi data na R, ha na-arụkwa ọrụ yiri nke ahụ n'ụzọ dị iche iche.
Pipeline n'ọbá akwụkwọ tidyverse onye ọrụ mejuputara %>%.
obj <- func1() %>%
func2() %>%
func3()
Ya mere, anyị na-ewere nsonaazụ nke ọrụ ahụ func1() ma nyefee ya dị ka arụmụka mbụ na func2(), mgbe ahụ, anyị na-agafe nsonaazụ nke ngụkọta oge a dị ka arụmụka mbụ func3(). Na n'ikpeazụ, anyị na-ede ngụkọta niile e mere n'ime ihe obj <-.
E gosiputara ihe niile dị n'elu dị mma karịa okwu site na meme a:
В data.table a na-eji agbụ ígwè eme ihe n'otu ụzọ ahụ.
Na nke ọ bụla n'ime brackets square ị nwere ike iji nsonaazụ nke ọrụ gara aga.
В pandas A na-ekewa ọrụ ndị dị otú ahụ site na ntụpọ.
obj = df.fun1().fun2().fun3()
Ndị ahụ. anyị na-ewere tebụl anyị df ma were usoro ya fun1(), mgbe ahụ, anyị na-etinye usoro ahụ na nsonaazụ enwetara fun2(), mgbe fun3(). A na-echekwa nsonaazụ nsonaazụ ya n'ime ihe ihe .
Ọdịdị data
Nhazi data na R na Python yitere, mana nwere aha dị iche iche.
Anyị ga-eleba anya n'ụfọdụ njirimara na ndịiche na syntax n'okpuru.
Okwu ole na ole gbasara ngwugwu anyị ga-eji
Nke mbụ, m ga-agwa gị ntakịrị banyere ngwugwu ndị ị ga-ama nke ọma n'oge isiokwu a.
edozi isi
Ebe nrụọrụ weebụ: tidyverse.org
ọbá akwụkwọ tidyverse nke Hedley Wickham dere, Sayensị Sayensị Senior Research na RStudio. tidyverse nwere nnukwu ngwugwu nke na-eme ka nhazi data dị mfe, 5 n'ime ha gụnyere na nbudata iri kacha elu site na ebe nchekwa CRAN.
Isi nke ọba akwụkwọ ahụ nwere ngwugwu ndị a: ggplot2, dplyr, tidyr, readr, purrr, tibble, stringr, forcats. Nke ọ bụla n'ime ngwugwu ndị a bụ iji dozie otu nsogbu. Ọmụmaatụ dplyr emebere maka njikwa data, tidyr iji weta data ahụ n'ụdị dị ọcha, stringr na-eme ka ọ dị mfe ịrụ ọrụ na eriri, na ggplot2 bụ otu n'ime ngwaọrụ nhụta data kachasị ewu ewu.
Ihe bara uru tidyverse bụ mfe na mfe ịgụ syntax, nke dị n'ọtụtụ ụzọ dị ka asụsụ ajụjụ SQL.
Ngwungwu syntax adịghị mma ka ọ dị na tidyverse na ọ na-echetara dataframes kpochapụwo na R, mana n'otu oge ahụ gbasaara nke ukwuu na arụmọrụ.
A na-akọwa aghụghọ niile na tebụl dị na ngwugwu a na brackets square, ma ọ bụrụ na ịsụgharị syntax data.table na SQL, ị ga-enweta ihe dị ka nke a: data.table[ WHERE, SELECT, GROUP BY ]
Aha ụlọ akwụkwọ ahụ sitere na okwu akụ na ụba "data panel", nke ejiri kọwaa ọtụtụ ozi ahaziri ahazi.
Site na pandas bụ American Wes McKinney.
A bịa na nyocha data na Python, nhata pandas Mba. Otu ngwungwu nwere ọtụtụ ọrụ, dị elu nke na-enye gị ohere iji data rụọ ọrụ ọ bụla, site na nbudata data site na isi iyi ọ bụla ruo n'ichepụta ya.
Ịwụnye ngwugwu ndị ọzọ
Agụnyeghị ngwugwu ndị a tụlere n'isiokwu a na nkesa R na Python. Ọ bụ ezie na enwere obere caveat, ọ bụrụ na ị wụnyela nkesa Anaconda, tinyezie ọzọ pandas adịghị achọrọ.
Ịwụnye ngwugwu na R
Ọ bụrụ na ị meghere gburugburu Rstudio mmepe opekata mpe otu ugboro, ikekwe ị maralarị otu esi etinye ngwugwu achọrọ na R. Iji wụnye ngwugwu, jiri iwu ọkọlọtọ. install.packages() site na-agba ọsọ ya ozugbo na R n'onwe ya.
# установка пакетов
install.packages("vroom")
install.packages("readr")
install.packages("dplyr")
install.packages("data.table")
Mgbe echichi gasịrị, a ga-ejikọta ngwugwu ndị ahụ, nke n'ọtụtụ ọnọdụ a na-eji iwu ahụ eme ihe library().
# подключение или импорт пакетов в рабочее окружение
library(vroom)
library(readr)
library(dplyr)
library(data.table)
Ịwụnye ngwugwu na Python
Yabụ, ọ bụrụ na etinyere Python dị ọcha, yabụ pandas ịkwesịrị iji aka tinye ya. Mepee ahịrị iwu, ma ọ bụ ọnụ, dabere na sistemụ arụmọrụ gị wee tinye iwu a.
pip install pandas
Mgbe ahụ, anyị na-alaghachi na Python wee bubata ngwugwu arụnyere na iwu ahụ import.
import pandas as pd
Na-ebu data
Ngwuputa data bụ otu n'ime usoro kachasị mkpa na nyocha data. Ma Python na R, ọ bụrụ na achọrọ, na-enye gị ohere dị ukwuu iji nweta data sitere na isi mmalite ọ bụla: faịlụ mpaghara, faịlụ sitere na ịntanetị, weebụsaịtị, ụdị ọdụ data niile.
N'ime akụkọ a, anyị ga-eji ọtụtụ datasets:
Nbudata abụọ sitere na nchịkọta Google.
Dataset nke njem njem Titanic.
Data niile dị na nke m GitHub n'ụdị csv na tsv faịlụ. Ebee ka anyị ga-esi rịọ ha?
Na-ebunye data na R: tidyverse, vroom, reader
Ka ibunye data n'ime ụlọ akwụkwọ tidyverse Enwere ngwugwu abụọ: vroom, readr. vroom ọzọ nke oge a, ma n'ọdịnihu nwere ike ijikọta ngwugwu.
vroom vs onye na-agụ
Gịnị ka ntọhapụ nke vroom pụtara maka readr? Maka ugbu a, anyị na-eme atụmatụ ikwe ka ngwugwu abụọ ahụ gbanwee iche, mana o yikarịrị ka anyị ga-ejikọta ngwugwu ahụ n'ọdịnihu. Otu ọghọm dị na ịgụ ume umengwụ vroom bụ ụfọdụ nsogbu data enweghị ike ịkọ n'ihu, yabụ otu kachasị mma iji mee ka ha dị n'otu chọrọ echiche ụfọdụ.
vroom vs onye na-agụ
Gịnị ka ntọhapụ pụtara? vroom n'ihi na readr? N'oge a, anyị na-eme atụmatụ ịmepụta ngwugwu abụọ ahụ iche iche, mana anyị ga-ejikọta ha n'ọdịnihu. Otu n'ime adịghị ike nke ịgụ umengwụ vroom bụ na ụfọdụ nsogbu na data enweghị ike ịkọ tupu oge eruo, yabụ ịkwesịrị iche echiche banyere otu kacha mma iji jikọta ha.
N'isiokwu a, anyị ga-eleba anya na ngwugwu nbudata data abụọ a:
Na ngwugwu vroom, n'agbanyeghị ụdị data csv / tsv, a na-arụ ọrụ nke otu aha. vroom(), na ngwugwu readr anyị na-eji ọrụ dị iche iche maka usoro ọ bụla read_tsv() и read_csv().
Na-ebu data n'ime R: data.table
В data.table enwere ọrụ maka nbudata data fread().
Ọ bụrụ na anyị atụnyere ngwugwu R, mgbe ahụ na nke a, syntax kacha nso pandas ga- readr, n'ihi na pandas nwere ike ịrịọ data site na ebe ọ bụla, ma enwere ezinụlọ dum nke ọrụ na ngwugwu a read_*().
read_csv()
read_excel()
read_sql()
read_json()
read_html()
Na ọtụtụ ọrụ ndị ọzọ emebere iji gụọ data sitere na ụdị dị iche iche. Mana maka ebumnuche anyị ezuola read_table() ma ọ bụ read_csv() iji arụmụka Sep ezipụta onye nkesa kọlụm.
В pandas A na-eme imepụta okpokolo agba n'ọtụtụ usoro, nke mbụ anyị na-emepụta akwụkwọ ọkọwa okwu, wee gbanwee akwụkwọ ọkọwa okwu ka ọ bụrụ ebe nchekwa data.
Ịmepụta dataframe na Python: pandas
# создаём дата фрейм
gender_dict = {'id': [1, 2],
'gender': ["female", "male"]}
# преобразуем словарь в датафрейм
gender = pd.DataFrame.from_dict(gender_dict)
Ịhọrọ Ogidi
Tebụl ndị ị na-arụ ọrụ nwere ike ịnwe ọtụtụ narị kọlụm data. Ma iji mepụta nyocha, dịka iwu, ị chọghị ogidi niile dị na tebụl isi iyi.
Ya mere, otu n'ime ọrụ mbụ ị ga-arụ na tebụl isi iyi bụ ikpochapụ ya na ozi na-adịghị mkpa ma hapụ ebe nchekwa nke ozi a nwere.
Ịhọrọ ogidi na R: tidyverse, dplyr
syntax dplyr dị nnọọ ka asụsụ ajụjụ SQL, ọ bụrụ na ị maara ya nke ọma, ị ga-amụta ngwa ngwa a.
Ka ịhọrọ ogidi, jiri ọrụ ahụ select().
N'okpuru bụ ọmụmaatụ koodu nke ị nwere ike iji họrọ kọlụm n'ụzọ ndị a:
Na-edepụta aha kọlụm achọrọ
Tụtụ aka na aha kọlụm na-eji okwu oge niile
Site na ụdị data ma ọ bụ ihe ọ bụla ọzọ nke data dị na kọlụm
Ịhọrọ kọlụm na 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)
Ịhọrọ ogidi na R: data.table
Otu arụmọrụ na data.table na-rụrụ dịtụ iche, na mmalite nke isiokwu m nyere nkọwa nke ihe arụmụka dị n'ime square brackets na data.table.
DT[i,j,by]
Ebee:
i - ebe, i.e. nzacha site n'ahịrị
j - họrọ|melite|mee, i.e. na-ahọpụta ogidi na ịtụgharị ha
site - nchịkọta data
Mgbanwe .SD na-enye gị ohere ịnweta ogidi niile, na .SDcols nyochaa ogidi ndị achọrọ site na iji okwu oge niile, ma ọ bụ ọrụ ndị ọzọ iji nzacha aha nke kọlụm ị chọrọ.
Ịhọrọ kọlụm na Python, pandas
Ka ịhọrọ ogidi n'aha n'ime pandas o zuru ezu inye ndepụta aha ha. Na ịhọrọ ma ọ bụ wepu ogidi n'aha site na iji okwu oge niile, ịkwesịrị iji ọrụ ndị ahụ drop() и filter(), na arụmụka axis=1, nke ị na-egosi na ọ dị mkpa iji hazie ogidi kama ahịrị.
Ka ịhọrọ mpaghara site na ụdị data, jiri ọrụ ahụ select_dtypes(), na n'ime arụmụka agụnye ma ọ bụ wepu Nyefee ndepụta nke ụdị data kwekọrọ na mpaghara nke ịchọrọ ịhọrọ.
Ịhọrọ kọlụm na 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'])
Ahịrị nzacha
Dịka ọmụmaatụ, tebụl isi iyi nwere ike ịnwe ọtụtụ afọ data, mana naanị ị ga-enyocha ọnwa gara aga. Ọzọ, ahịrị ndị ọzọ ga-ebelata usoro nhazi data wee mechie ebe nchekwa PC.
Ahịrị nzacha na R: tydyverse, dplyr
В dplyr A na-eji ọrụ ahụ enyocha ahịrị filter(). Ọ na-ewe nchekwa data dị ka arụmụka mbụ, wee depụta ọnọdụ nzacha.
Mgbe ị na-ede okwu ezi uche dị na ya iji nzacha tebụl, na nke a, kọwaa aha kọlụm na-enweghị nkwuputa ma na-ekwupụtaghị aha tebụl.
Mgbe ị na-eji ọtụtụ okwu ezi uche dị na nzacha, jiri ndị na-arụ ọrụ ndị a:
& ma ọ bụ rikoma - ezi uche AND
| - ezi uche ma ọ bụ
Ahịrị nzacha na R: dplyr
# фильтрация строк
## dplyr
### фильтрация строк по одному условию
filter(ga_nov, source == "google")
### фильтр по двум условиям соединённым логическим и
filter(ga_nov, source == "google" & sessions >= 10)
### фильтр по двум условиям соединённым логическим или
filter(ga_nov, source == "google" | sessions >= 10)
Ahịrị nzacha na R: data.table
Dịka m dere n'elu, na data.table A na-emechi syntax ntụgharị data na brackets square.
DT[i,j,by]
Ebee:
i - ebe, i.e. nzacha site n'ahịrị
j - họrọ|melite|mee, i.e. na-ahọpụta ogidi na ịtụgharị ha
site - nchịkọta data
A na-eji arụmụka ahụ wee nyochaa ahịrị i, nke nwere ọnọdụ mbụ na brackets square.
A na-enweta ogidi n'okwu ezi uche dị na ya na-enweghị akara ngụ na-akọwapụtaghị aha tebụl.
Okwu ezi uche na-ejikọta ibe ya n'otu ụzọ ahụ dị na dplyr site na & na | ndị ọrụ.
Ahịrị nzacha na R: data.table
## data.table
### фильтрация строк по одному условию
ga_nov[source == "google"]
### фильтр по двум условиям соединённым логическим и
ga_nov[source == "google" & sessions >= 10]
### фильтр по двум условиям соединённым логическим или
ga_nov[source == "google" | sessions >= 10]
Ụdọ nzacha na Python: pandas
Wepụta n'ahịrị dị na pandas yiri nzacha n'ime data.table, ma mee ya na brackets square.
N'okwu a, a na-eme ohere ịnweta ogidi site n'igosi aha nke dataframe; mgbe ahụ, a ga-egosipụtakwa aha kọlụm na akara okwu na brackets square (ihe atụdf['col_name']), ma ọ bụ na-enweghị nkọwa mgbe oge ahụ gasịrị (ihe atụdf.col_name).
Ọ bụrụ na ịchọrọ iji ọnọdụ dị iche iche yochaa dataframe, ọnọdụ ọ bụla ga-edoberịrị n'ime mmuke. A na-ejikọta ọnọdụ ezi uche na ibe ya site na ndị ọrụ & и |.
Ụdọ nzacha na 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)]
Ịchịkọta na nchịkọta data
Otu n'ime ọrụ ndị a na-ejikarị na nyocha data bụ nchịkọta na nchịkọta.
Okwu syntax maka ịrụ ọrụ ndị a gbasasịrị na ngwugwu niile anyị na-enyocha.
N'okwu a, anyị ga-ewere dataframe dịka ọmụmaatụ Titanic, ma gbakọọ ọnụ ọgụgụ na nkezi ọnụ ahịa tiketi dabere na klas ụlọ.
Ịchịkọta na nchịkọta data na R: tidyverse, dplyr
В dplyr a na-eji ọrụ ahụ maka ịchịkọta group_by(), na maka mkpokọta summarise(). N'ezie, dplyr e nwere ezinụlọ dum nke ọrụ summarise_*(), ma ebumnuche nke isiokwu a bụ iji tụnyere isi okwu syntax, n'ihi ya, anyị agaghị abanye n'ime ọhịa dị otú ahụ.
Iji rụọ ọrụ group_by() anyị gafere tebụl dị ka arụmụka mbụ Titanic, wee gosi ubi ahụ Pclass, nke anyị ga-esi na-ejikọta tebụl anyị. Nsonaazụ nke ọrụ a na-eji onye ọrụ %>% gafere dị ka arụmụka mbụ na ọrụ ahụ summarise(), wee gbakwunye mpaghara abụọ ọzọ: ndị njem и ọnụahịa_ọnụ. Na mbụ, na-eji ọrụ length() gbakọọ ọnụ ọgụgụ nke tiketi, na nke abụọ na-eji ọrụ ahụ mean() natara nkezi ọnụahịa tiketi.
Ịchịkọta na nchịkọta data na R: data.table
В data.table a na-eji arụmụka ahụ eme ihe maka nchịkọta j nke nwere ọnọdụ nke abụọ na brackets square, na maka nchịkọta by ma ọ bụ keyby, nke nwere ọnọdụ nke atọ.
Ndepụta nke ọrụ nchịkọta na nke a yiri nke akọwara na ya dplyr, n'ihi na Ndị a bụ ọrụ sitere na nkiti R syntax.
Ịchịkọta na nchịkọta na R: data.table
## data.table
### фильтрация строк по одному условию
titanic[, .(passangers = length(PassengerId),
avg_price = mean(Fare)),
by = Pclass]
Ịchịkọta na nchịkọta data na Python: pandas
Ịkpọkọta na pandas yiri dplyr, ma nchịkọta adịghị ka dplyr ọ bụghị na data.table.
Iji otu, jiri usoro a groupby(), nke ị ga-ebufe ndepụta kọlụm nke a ga-eji chịkọta dataframe.
Maka nchịkọta ị nwere ike iji usoro ahụ agg()nke na-anabata akwụkwọ ọkọwa okwu. Igodo akwụkwọ ọkọwa okwu bụ kọlụm nke ị ga-etinye ọrụ nchịkọta, na ụkpụrụ bụ aha ọrụ nchịkọta.
Ọrụ nchịkọta:
sum() - nchịkọta
min() / max() – kacha nta na kacha uru
mean() - nkezi
median() - etiti
count() - oke
ọrụ reset_index() na ihe atụ n'okpuru a na-eji tọgharịa akwu index na pandas ndabara na mgbe nchịkọta data.
Ihe ngosi na-enye gị ohere ịkwaga n'ahịrị ọzọ.
Ịchịkọta na nchịkọta na Python: pandas
# группировка и агрегация данных
titanic.groupby(["Pclass"]).
agg({'PassengerId': 'count', 'Fare': 'mean'}).
reset_index()
Ngwakọta tebụl kwụ ọtọ
Ọrụ nke ị jikọtara tebụl abụọ ma ọ bụ karịa nke otu nhazi. Ihe data anyị bugoro nwere tebụl ga_nov и ga_dec. Tebụl ndị a bụ otu ihe n'usoro, ya bụ. nwere otu ogidi, na ụdị data dị na kọlụm ndị a.
Nke a bụ nbudata sitere na Google Analytics maka ọnwa Nọvemba na Disemba, na ngalaba a, anyị ga-ejikọta data a n'otu tebụl.
Ijikọ tebụl kwụ ọtọ na R: tidyverse, dplyr
В dplyr Ị nwere ike ijikọta tebụl 2 n'ime otu iji ọrụ ahụ bind_rows(), na-agafe tebụl dị ka arụmụka ya.
Ahịrị nzacha na R: dplyr
# Вертикальное объединение таблиц
## dplyr
bind_rows(ga_nov, ga_dec)
Ijikọ tebụl kwụ ọtọ na R: data.table
Ọ bụghịkwa ihe mgbagwoju anya, ka anyị jiri rbind().
Ahịrị nzacha na R: data.table
## data.table
rbind(ga_nov, ga_dec)
Ijikọ kwụ ọtọ na tebụl na Python: pandas
В pandas A na-eji ọrụ ahụ jikọọ na tebụl concat(), nke ị ga-ebufe ndepụta okpokolo agba iji jikọta ha.
Ụdọ nzacha na Python: pandas
# вертикальное объединение таблиц
pd.concat([ga_nov, ga_dec])
Njikọ kwụ ọtọ nke tebụl
Ọrụ nke etinyere ogidi sitere na nke abụọ na tebụl nke mbụ site na igodo. A na-ejikarị ya eme ihe mgbe ị na-eme ka tebụl eziokwu dịkwuo mma (dịka ọmụmaatụ, tebụl nwere data ahịa) na ụfọdụ data ntụaka (dịka ọmụmaatụ, ọnụ ahịa ngwaahịa).
Enwere ọtụtụ ụdị njikọ:
Na tebụl ebugoro na mbụ Titanic anyị nwere kọlụm Sex, nke dabara na koodu okike nke onye njem:
1 - nwanyị
2 - nwoke
Ọzọkwa, anyị ekepụtala tebụl - akwụkwọ ntụaka okike. Maka nkọwa dị mma nke data gbasara okike nke ndị njem, anyị kwesịrị ịgbakwunye aha okike site na ndekọ. okike na tebụl Titanic.
Tebụl kwụ ọtọ sonyere na R: tidyverse, dplyr
В dplyr Enwere ezinụlọ dum nke ọrụ maka ijikọ kwụ ọtọ:
inner_join()
left_join()
right_join()
full_join()
semi_join()
nest_join()
anti_join()
Nke a na-ejikarị eme ihe n'omume m bụ left_join().
Dị ka arụmụka abụọ mbụ, ọrụ ndị edepụtara n'elu na-ewere tebụl abụọ iji sonyere, yana dịka arụmụka nke atọ by ị ga-ezipụta kọlụm iji sonyere.
Tebụl kwụ n'ahịrị sonyere na R: dplyr
# объединяем таблицы
left_join(titanic, gender,
by = c("Sex" = "id"))
Njikọ kwụ ọtọ nke tebụl na R: data.table
В data.table Ịkwesịrị iji ọrụ ahụ jikọọ na tebụl site na igodo merge().
Arụmọrụ ijikọ () arụ ọrụ na data.table
x, y - Tebụl maka ịbanye
site - Kọlụm nke bụ igodo iji sonyere ma ọ bụrụ na ọ nwere otu aha na tebụl abụọ ahụ
by.x, by.y - A ga-ejikọta aha kọlụm, ma ọ bụrụ na ha nwere aha dị iche iche na tebụl
niile, all.x, all.y - Jikọọ ụdị, niile ga-eweghachi niile ahịrị site na tebụl abụọ, all.x kwekọrọ na ọrụ njikọ aka ekpe (ga-ahapụ ahịrị niile nke tebụl mbụ), all.y - kwekọrọ na Ọrụ Jikọọ aka nri (ga-ahapụ ahịrị niile nke tebụl nke abụọ).
Dịkwa ka in data.table, na pandas A na-eji ọrụ ahụ jikọọ na tebụl merge().
Arụmụka nke njikọ () na-arụ ọrụ na pandas
otú — Ụdị njikọ: aka ekpe, aka nri, mpụta, n'ime
na - Kọlụm nke bụ igodo ma ọ bụrụ na ọ nwere otu aha na tebụl abụọ ahụ
left_on, right_on - Aha ogidi isi, ma ọ bụrụ na ha nwere aha dị iche iche na tebụl
Tebụl kwụ ọtọ sonyere na Python: pandas
# объединяем по ключу
titanic.merge(gender, how = "left", left_on = "Sex", right_on = "id")
Ọrụ mpio bụ isi na kọlụm gbakọọ
Ọrụ mpio yiri nke a pụtara na ọrụ nchịkọta, ma na-ejikarị nyocha data. Mana n'adịghị ka ọrụ nchịkọta, ọrụ windo anaghị agbanwe ọnụọgụ ahịrị nke dataframe na-apụ apụ.
N'ikpeazụ, n'iji ọrụ windo, anyị na-ekewa dataframe na-abata n'ime akụkụ dịka ụfọdụ criterion si dị, ya bụ. site na uru nke ubi, ma ọ bụ ọtụtụ ubi. Anyị na-arụkwa ọrụ mgbakọ na mwepụ na windo ọ bụla. A ga-eweghachi nsonaazụ nke ọrụ ndị a n'ahịrị ọ bụla, ya bụ. na-enweghị ịgbanwe ọnụ ọgụgụ nke ahịrị na tebụl.
Dịka ọmụmaatụ, ka anyị were tebụl Titanic. Anyị nwere ike gbakọọ pasent ole ụgwọ tiketi ọ bụla dị n'ime klaasị ụlọ ya.
Iji mee nke a, anyị kwesịrị ịnweta n'ahịrị nke ọ bụla ọnụ ahịa tiketi maka klaasị ụlọ dị ugbu a nke tiketi dị n'ahịrị a bụ, wee kesaa ọnụ ahịa nke tiketi ọ bụla site na ngụkọta ọnụ ahịa nke tiketi niile nke otu ụlọ. .
Ohere na-arụ ọrụ na R: tidyverse, dplyr
Ka ịgbakwunye kọlụm ọhụrụ, na-ejighị nchikota ahịrị, n'ime dplyr na-eje ozi ọrụ mutate().
Ị nwere ike dozie nsogbu ahụ akọwara n'elu site na ijikọ data n'ọhịa Pclass na ikpokọta ubi na kọlụm ọhụrụ Ọ bụ. Na-esote, kewaa tebụl ma kesaa ụkpụrụ ubi Ọ bụ na ihe mere na nzọụkwụ gara aga.
Ihe ngwọta algọridim na-anọgide na otu dị ka na dplyr, anyị kwesịrị kewaa tebụl n'ime windo site n'ọhịa Pclass. Wepụta na kọlụm ọhụrụ ego maka otu kwekọrọ na ahịrị ọ bụla, ma tinye kọlụm nke anyị gbakọọ òkè nke ọnụ ahịa tiketi ọ bụla n'ime otu ya.
Ka ịgbakwunye ogidi ọhụrụ na data.table onye ọrụ nọ :=. N'okpuru ebe a bụ ọmụmaatụ nke idozi nsogbu site na iji ngwugwu data.table
Ọrụ mpio na R: data.table
titanic[,c("Pclass_cost","ticket_fare_rate") := .(sum(Fare), Fare / Pclass_cost),
by = Pclass]
Ọrụ windo na Python: pandas
Otu ụzọ isi tinye kọlụm ọhụrụ na pandas - jiri ọrụ ahụ assign(). Iji chịkọta ọnụ ahịa tiketi site na klas ụlọ, na-enweghị nchịkọta ahịrị, anyị ga-eji ọrụ ahụ transform().
N'okpuru ebe a bụ ihe atụ nke ngwọta nke anyị na-agbakwunye na tebụl Titanic otu ogidi 2 ahụ.
Ọrụ mpio bụ isi na ịgbakwunye kọlụm gbakọọ group_by() + mutate()
arụmụka j iji onye ọrụ := + arụmụka by transform() + assign()
nkwubi
Ikekwe na isiokwu m kọwara na ọ bụghị ndị kasị mma mmejuputa atumatu nke data nhazi, otú m ga-enwe obi ụtọ ma ọ bụrụ na ị na-edozi m ihie ụzọ na-ekwu, ma ọ bụ nanị gbakwunye ozi e nyere n'isiokwu na ndị ọzọ usoro maka-arụ ọrụ na data na R / Python.
Dịka m dere n'elu, ebumnuche nke isiokwu ahụ abụghị ịmanye echiche mmadụ na asụsụ ka mma, kama iji mee ka ohere ịmụ asụsụ abụọ ahụ dị mfe, ma ọ bụ, ọ bụrụ na ọ dị mkpa, ịkwaga n'etiti ha.
Ọ bụrụ na ị masịrị akụkọ ahụ, m ga-enwe obi ụtọ inwe ndị debanyere aha ọhụrụ m youtube и telegram ọwa.
Mpempe akwụkwọ
Kedu n'ime ngwugwu ndị a ị na-eji na ọrụ gị?
Na nkwupụta ị nwere ike dee ihe kpatara nhọrọ gị.
Naanị ndị ọrụ edebanyere aha nwere ike isonye na nyocha a. banye, Biko.
Kedu ngwungwu nhazi data ị na-eji (ị nwere ike họrọ ọtụtụ nhọrọ)