ProHoster > Pūnaewele > Nā Administration > He aha ka ʻōlelo e koho ai no ka hana ʻana me ka ʻikepili - R a i ʻole Python? ʻO lāua ʻelua! Ke neʻe nei mai nā pandas i ka hoʻomaʻemaʻe a me ka data.table a me ke kua
He aha ka ʻōlelo e koho ai no ka hana ʻana me ka ʻikepili - R a i ʻole Python? ʻO lāua ʻelua! Ke neʻe nei mai nā pandas i ka hoʻomaʻemaʻe a me ka data.table a me ke kua
Ma ka ʻimi ʻana iā R a i ʻole Python ma ka Pūnaewele, e ʻike ʻoe i nā miliona o nā ʻatikala a me nā kilomita o nā kūkākūkā e pili ana i ke kumuhana ʻoi aku ka maikaʻi, wikiwiki a maʻalahi hoʻi no ka hana ʻana me ka ʻikepili. Akā naʻe, ʻaʻole pono kēia mau ʻatikala a me nā hoʻopaʻapaʻa.
ʻO ke kumu o kēia ʻatikala, ʻo ia ka hoʻohālikelike ʻana i nā ʻenehana hana ʻikepili kumu ma nā pūʻolo kaulana loa o nā ʻōlelo ʻelua. A kōkua i ka poʻe heluhelu e aʻo koke i kahi mea a lākou i ʻike ʻole ai. No ka poʻe kākau ma Python, e ʻike pehea e hana ai i ka mea like ma R, a me ka hope.
I loko o ka ʻatikala e nānā mākou i ka syntax o nā pūʻolo kaulana loa ma R. ʻO kēia nā pūʻolo i hoʻokomo ʻia i loko o ka waihona. tidyversea me ka pūʻolo pū kekahi data.table. A hoʻohālikelike i kā lākou syntax me pandas, ka pūʻolo helu ʻikepili kaulana loa ma Python.
E hele mākou i kēlā me kēia pae ma ke ala holoʻokoʻa o ka nānā ʻana i ka ʻikepili mai ka hoʻouka ʻana i ka hana analytical window functions me ka hoʻohana ʻana iā Python a me R.
Nā mea
Hiki ke hoʻohana ʻia kēia ʻatikala ma ke ʻano he palapala hoʻopunipuni inā ua poina iā ʻoe pehea e hana ai i kekahi hana hoʻoili ʻikepili ma kekahi o nā pūʻolo e noʻonoʻo ʻia nei.
Inā makemake ʻoe i ka ʻikepili ʻikepili, e ʻike paha ʻoe i kaʻu telegram и Ukulele nā kahawai. Hoʻolaʻa ʻia ka hapa nui o nā mea i ka ʻōlelo R.
ʻO nā ʻokoʻa syntax nui ma waena o R a me Python
I mea e maʻalahi ai iā ʻoe ke hoʻololi mai Python a i R, a i ʻole, e hāʻawi wau i kekahi mau mea nui e pono ai ʻoe e hoʻolohe.
Ke komo ʻana i nā hana pūʻolo
Ke hoʻouka ʻia kahi pūʻolo i loko o R, ʻaʻole pono ʻoe e kuhikuhi i ka inoa pūʻolo e komo i kāna mau hana. I ka hapanui o nā hihia, ʻaʻole maʻamau kēia ma R, akā ʻae ʻia. ʻAʻole pono ʻoe e hoʻokomo i kahi pōʻai inā makemake ʻoe i kekahi o kāna mau hana i kāu code, akā e kāhea wale iā ia ma ka wehewehe ʻana i ka inoa o ka pūʻolo a me ka inoa o ka hana. ʻO ka mea hoʻokaʻawale ma waena o nā pūʻolo a me nā inoa hana ma R he kolonā pālua. package_name::function_name().
Ma Python, ma kahi ʻē aʻe, ua manaʻo ʻia ʻo ia ka mea maʻamau e kāhea i nā hana o kahi pūʻulu ma ka wehewehe ʻana i kona inoa. Ke hoʻoiho ʻia kahi pūʻolo, hāʻawi pinepine ʻia ka inoa pōkole, e.g. pandas hoʻohana pinepine ʻia kahi pseudonym pd. Loaʻa ka hana pūʻolo ma o kahi kiko package_name.function_name().
Haʻawina
Ma R, he mea maʻamau ka hoʻohana ʻana i ka pua e hāʻawi i kahi waiwai i kahi mea. obj_name <- value, ʻoiai ua ʻae ʻia kahi hōʻailona like hoʻokahi, ua hoʻohana mua ʻia ka hōʻailona like hoʻokahi ma R e hāʻawi i nā waiwai e hana i nā manaʻo.
Ma Python, hana wale ʻia ka hana me kahi hōʻailona like obj_name = value.
Ka helu helu
Aia kekahi mau ʻokoʻa koʻikoʻi ma ʻaneʻi. Ma R, hoʻomaka ka helu ʻana i ka helu hoʻokahi a hoʻokomo i nā mea kikoʻī āpau i ka pae hopena,
Ma Python, hoʻomaka ka helu helu ʻana mai ka zero a ʻaʻole i hoʻokomo ʻia ka pae i koho ʻia i ka mea hope i kuhikuhi ʻia ma ka ʻōlelo kuhikuhi. No laila hoʻolālā x[i:j] ma Python ʻaʻole e hoʻokomo i ka mea j.
Aia kekahi mau ʻokoʻa i ka helu helu ʻino ʻana, ma R notation x[-1] e hoʻihoʻi i nā mea āpau o ka vector koe ka mea hope. Ma Python, e hoʻihoʻi mai kahi ʻōlelo like i ka mea hope.
Nā Hana a me OOP
Hoʻohana ʻo R i ka OOP ma kāna ʻano ponoʻī, kākau wau e pili ana i kēia ma ka ʻatikala "OOP ma ka ʻōlelo R (mahele 1): Nā papa S3". Ma keʻano laulā, he ʻōlelo hana ʻo R, a ua kūkulu ʻia nā mea a pau ma luna o nā hana. No laila, no ka laʻana, no nā mea hoʻohana Excel, e hele i tydiverse e maʻalahi ma mua o pandas. ʻOiai ʻo kēia paha koʻu manaʻo kumuhana.
I ka pōkole, ʻaʻohe kumu o nā mea ma R (inā mākou e kamaʻilio e pili ana i nā papa S3, akā aia kekahi mau hoʻokō OOP ʻaʻole i maʻamau). He mau hana laulā wale nō e hoʻoponopono ʻokoʻa iā lākou ma muli o ka papa o ka mea.
Paipu
ʻO kēia paha ka inoa no pandas ʻAʻole pololei loa, akā e hoʻāʻo wau e wehewehe i ke ʻano.
I ʻole e mālama i nā helu waena a ʻaʻole e hana i nā mea pono ʻole i ka ʻoihana hana, hiki iā ʻoe ke hoʻohana i kahi ʻano pipeline. ʻO kēlā mau mea. e hāʻawi i ka hopena o ka helu ʻana mai kekahi hana a i kekahi, a mai mālama i nā hopena waena.
E lawe mākou i kēia code code, kahi e mālama ai mākou i nā helu waena ma nā mea ʻokoʻa:
Hana mākou i nā hana 3 ma ke kaʻina, a ua mālama ʻia ka hopena o kēlā me kēia i kahi mea ʻokoʻa. Akā ʻoiaʻiʻo, ʻaʻole pono mākou i kēia mau mea waena.
A i ʻole ʻoi aku ka maikaʻi, akā ʻoi aku ka maʻamau i nā mea hoʻohana Excel.
obj <- func3(func2(func1()))
I kēia hihia, ʻaʻole mākou i mālama i nā hopena helu waena, akā paʻakikī loa ka heluhelu ʻana i ke code me nā hana nested.
E nānā mākou i kekahi mau ala i ka hoʻoili ʻikepili ma R, a hana lākou i nā hana like ma nā ʻano like ʻole.
Pipelines ma ka waihona tidyverse hoʻokō ʻia e ka mea hoʻohana %>%.
obj <- func1() %>%
func2() %>%
func3()
Pēlā mākou e lawe ai i ka hopena o ka hana func1() a hāʻawi iā ia ma ke ʻano he hoʻopaʻapaʻa mua i func2(), a laila hāʻawi mākou i ka hopena o kēia helu ʻana ma ke ʻano he hoʻopaʻapaʻa mua func3(). A i ka hopena, kākau mākou i nā helu āpau i hana ʻia i loko o ka mea obj <-.
Ua hōʻike maikaʻi ʻia kēia mau mea a pau ma mua o nā huaʻōlelo e kēia meme:
В data.table hoʻohana ʻia nā kaulahao ma ke ʻano like.
Hiki iā ʻoe ke hoʻohana i ka hopena o ka hana mua i kēlā me kēia o nā bracket square.
В pandas ua hoʻokaʻawale ʻia ia mau hana e kahi kiko.
obj = df.fun1().fun2().fun3()
ʻO kēlā mau mea. lawe mākou i kā mākou papaʻaina df a hoʻohana i kāna ʻano hana fun1(), a laila hoʻohana mākou i ke ala i ka hopena i loaʻa fun2(), ma hope fun3(). Mālama ʻia ka hopena i loko o kahi mea mea hoʻopaʻapaʻa .
Nā Kūlana ʻikepili
Ua like nā hoʻolālā ʻikepili ma R a me Python, akā he mau inoa like ʻole.
hōʻikeʻano
Ka inoa ma R
Ka inoa ma Python/pandas
Hoʻolālā papa
ʻikepili.frame, data.table, tibble
ʻIkepili
Papa inoa o na waiwai
Lanakila
Hōʻike i nā pandas a i ʻole papa inoa ma ka Python maʻemaʻe
Hoʻolālā papa ʻole pae nui
Papa inoa
puke wehewehe ʻōlelo (dict)
E nānā mākou i kekahi mau hiʻohiʻona a me nā ʻokoʻa o ka syntax ma lalo nei.
He mau huaʻōlelo e pili ana i nā pūʻolo e hoʻohana ai mākou
ʻO ka mea mua, e haʻi liʻiliʻi wau iā ʻoe e pili ana i nā pūʻolo āu e kamaʻāina ai i kēia ʻatikala.
maʻemaʻe
Paena pūnaewele: tidyverse.org
waihona tidyverse i kākau ʻia e Hedley Wickham, ʻepekema noiʻi kiʻekiʻe ma RStudio. tidyverse Aia i loko o kahi pūʻulu hoihoi e hoʻomaʻamaʻa i ka hoʻoili ʻana i ka ʻikepili, 5 o ia mau mea i hoʻokomo ʻia i nā kiʻi 10 kiʻekiʻe mai ka waihona CRAN.
ʻO ke kumu o ka hale waihona puke nā pūʻolo penei: ggplot2, dplyr, tidyr, readr, purrr, tibble, stringr, forcats. Kuhi ʻia kēlā me kēia o kēia mau pūʻolo e hoʻoponopono i kahi pilikia kikoʻī. ʻo kahi laʻana dplyr hana ʻia no ka hoʻopunipuni ʻikepili, tidyr e lawe i ka ʻikepili i kahi ʻano maʻemaʻe, stringr maʻalahi ka hana me nā kaula, a ggplot2 ʻo ia kekahi o nā mea hana ʻike kiʻi ʻikepili kaulana loa.
ʻO ka pōmaikaʻi tidyverse ʻO ia ka maʻalahi a me ka maʻalahi o ka heluhelu ʻana i ka syntax, ma nā ʻano he nui e like me ka ʻōlelo query SQL.
ʻO ka hoʻokuʻu mua ʻana o ka waihona i mālama ʻia i ka makahiki 2006.
ʻAʻole maʻalahi ka syntax pūʻolo e like me ka tidyverse a ʻoi aku ka hoʻomanaʻo ʻana i nā dataframes maʻamau i R, akā i ka manawa like i hoʻonui nui ʻia i ka hana.
Hōʻike ʻia nā manipulations āpau me ka papa i loko o kēia pūʻolo i nā bracket square, a inā ʻoe e unuhi i ka syntax data.table ma SQL, loaʻa iā ʻoe kekahi mea e like me kēia: data.table[ WHERE, SELECT, GROUP BY ]
ʻO ka ikaika o kēia pūʻolo ka wikiwiki o ka hana ʻana i ka nui o ka ʻikepili.
ʻO ka inoa o ka waihona mai ka huaʻōlelo econometric "panel data", i hoʻohana ʻia no ka wehewehe ʻana i nā pūʻulu ʻike multidimensional.
Mea kākau pandas ʻo ʻAmelika Wes McKinney.
I ka hiki ʻana mai i ka ʻikepili ʻikepili ma Python, like pandas ʻAʻole. ʻO kahi pūʻolo multifunctional, kiʻekiʻe kiʻekiʻe e hiki ai iā ʻoe ke hana i kekahi manipulation me ka ʻikepili, mai ka hoʻouka ʻana i ka ʻikepili mai nā kumu a hiki i ka nānā ʻana.
Ke hoʻouka nei i nā pūʻolo hou
ʻAʻole i hoʻokomo ʻia nā pūʻolo i kūkākūkā ʻia ma kēia ʻatikala i ka māhele kumu R a me Python. ʻOiai aia kahi hōʻailona liʻiliʻi, inā ʻoe i hoʻokomo i ka māhele Anaconda, a laila e hoʻokomo hou pandas ʻaʻole i koiʻia.
Ke kau nei i nā pūʻolo ma R
Inā ua wehe ʻoe i ke kaiapuni hoʻomohala RStudio ma ka liʻiliʻi loa, ua ʻike paha ʻoe pehea e hoʻokomo ai i ka pūʻolo i makemake ʻia ma R. No ka hoʻokomo ʻana i nā pūʻolo, e hoʻohana i ke kauoha maʻamau install.packages() ma ka holo pololei ana ma R ponoi.
# установка пакетов
install.packages("vroom")
install.packages("readr")
install.packages("dplyr")
install.packages("data.table")
Ma hope o ka hoʻokomo ʻana, pono e hoʻopili ʻia nā pūʻolo, no ka mea ma ka hapa nui o nā hihia e hoʻohana ʻia ai ke kauoha library().
# подключение или импорт пакетов в рабочее окружение
library(vroom)
library(readr)
library(dplyr)
library(data.table)
Ke kau ʻana i nā pūʻolo ma Python
No laila, inā ua hoʻokomo ʻia ʻo Python maʻemaʻe, a laila pandas pono ʻoe e hoʻokomo iā ia me ka lima. E wehe i kahi laina kauoha, a i ʻole terminal, ma muli o kāu ʻōnaehana hana a hoʻokomo i kēia kauoha.
pip install pandas
A laila hoʻi mākou i Python a hoʻokomo i ka pūʻulu i kau ʻia me ke kauoha import.
import pandas as pd
Hoʻouka ʻikepili
ʻO ka ʻili ʻikepili kekahi o nā ʻanuʻu koʻikoʻi i ka ʻikepili ʻikepili. ʻO Python a me R, inā makemake ʻia, hāʻawi iā ʻoe i nā manawa nui e loaʻa ai ka ʻikepili mai nā kumu: nā faila kūloko, nā faila mai ka Pūnaewele, nā pūnaewele, nā ʻano ʻikepili āpau.
Ma ka ʻatikala holoʻokoʻa e hoʻohana mākou i kekahi mau ʻikepili:
ʻElua hoʻoiho mai Google Analytics.
ʻIkepili ʻikepili holo moku Titanic.
Aia nā ʻikepili a pau ma kaʻu GitHub ma ke ʻano o nā faila csv a me tsv. No hea mākou e noi ai iā lākou?
Ke hoʻouka nei i ka ʻikepili i loko o R: tidyverse, vroom, readr
No ka hoʻouka ʻana i ka ʻikepili i loko o kahi waihona tidyverse ʻElua pūʻolo: vroom, readr. vroom ʻoi aku ka hou, akā i ka wā e hiki mai ana e hui pū ʻia nā pūʻolo.
vroom vs heluhelu
He aha ka hoʻokuʻu ʻana o vroom manaʻo no readr? I kēia manawa ke hoʻolālā nei mākou e hoʻololi kaʻawale i nā ʻāpana ʻelua, akā e hui pū paha mākou i nā pūʻolo i ka wā e hiki mai ana. ʻO kahi hemahema o ka heluhelu palaualelo a vroom ʻaʻole hiki ke hōʻike ʻia i mua o nā pilikia ʻikepili, no laila pehea e hoʻohui ai iā lākou e pono ai kekahi manaʻo.
vroom vs readr
He aha ka manaʻo o ka hoʻokuʻu? vroom no ka mea, readr? I kēia manawa hoʻolālā mākou e hoʻomohala i nā pūʻolo ʻelua i kahi kaʻawale, akā e hui pū paha mākou iā lākou i ka wā e hiki mai ana. ʻO kekahi o nā hemahema o ka heluhelu palaualelo vroom ʻaʻole hiki ke hōʻike mua ʻia kekahi mau pilikia me ka ʻikepili, no laila pono ʻoe e noʻonoʻo pehea e hoʻohui ai iā lākou.
Ma kēia ʻatikala e nānā mākou i nā pūʻolo hoʻoili ʻikepili ʻelua:
Ke hoʻouka nei i ka ʻikepili i loko o ka pūʻolo R: vroom
I ka pūʻolo vroom, me ka nānā ʻole i ka format data csv / tsv, lawe ʻia ka hoʻouka ʻana e ka hana o ka inoa like vroom(), i loko o ka pūʻolo readr hoʻohana mākou i kahi hana ʻokoʻa no kēlā me kēia ʻano read_tsv() и read_csv().
Ke hoʻouka nei i ka ʻikepili i loko o R: data.table
В data.table aia kahi hana no ka hoʻouka ʻana i ka ʻikepili fread().
Ke hoʻouka nei i ka ʻikepili i loko o R: data.table package
Inā mākou e hoʻohālikelike me nā pūʻulu R, a laila ma kēia hihia ke kokoke loa ka syntax pandas e e readr, no ka mea pandas hiki ke noi i ka ʻikepili mai nā wahi a pau, a aia kahi ʻohana holoʻokoʻa o kēia pūʻolo read_*().
read_csv()
read_excel()
read_sql()
read_json()
read_html()
A me nā hana ʻē aʻe i hoʻolālā ʻia e heluhelu i ka ʻikepili mai nā ʻano like ʻole. Akā, no kā mākou hana ua lawa read_table() ai ole ia, read_csv() hoʻohana i ka hoʻopaʻapaʻa Sep e kuhikuhi i ka mea hoʻokaʻawale kolamu.
Papakaukau titanic, a makou i hoouka ai, aia he kahua Sex, e mālama ana i ka ʻike kāne kāne o ka mea hele.
Akā no ka hōʻike maʻalahi o ka ʻikepili e pili ana i ke kāne kāne, pono ʻoe e hoʻohana i ka inoa ma mua o ke code kāne.
No ka hana ʻana i kēia, e hana mākou i kahi papa kuhikuhi liʻiliʻi, kahi pākaukau e loaʻa ai nā kolamu 2 wale nō (code a me ka inoa kāne) a me 2 mau lālani.
Ke hana ʻana i kahi ʻikepili ma R: tidyverse, dplyr
Ma ka laʻana code ma lalo nei, hana mākou i ka dataframe i makemake ʻia me ka hoʻohana ʻana i ka hana tibble() .
В pandas Hana ʻia ka hana ʻana o nā papa ma nā ʻano he nui, hana mua mākou i kahi puke wehewehe ʻōlelo, a laila hoʻololi mākou i ka puke wehewehe i kahi dataframe.
Ke hana nei i kahi dataframe ma Python: pandas
# создаём дата фрейм
gender_dict = {'id': [1, 2],
'gender': ["female", "male"]}
# преобразуем словарь в датафрейм
gender = pd.DataFrame.from_dict(gender_dict)
Ke koho ʻana i nā kolamu
Loaʻa i nā papa āu e hana pū ai he mau kakini a i ʻole haneli mau kolamu o ka ʻikepili. Akā no ka hoʻokō ʻana i ka loiloi, ma ke ʻano he lula, ʻaʻole pono ʻoe i nā kolamu āpau i loaʻa i ka papa kumu.
No laila, ʻo kekahi o nā hana mua āu e hana ai me ka papa kumu, ʻo ia ka hoʻomaʻemaʻe ʻana i ka ʻike pono ʻole a hoʻokuʻu i ka hoʻomanaʻo i loaʻa i kēia ʻike.
Ke koho ʻana i nā kolamu ma R: tidyverse, dplyr
Ka Mooolelo O dplyr Ua like loa me ka ʻōlelo nīnau SQL, inā ʻoe e kamaʻāina iā ia, e mākaukau koke ʻoe i kēia pūʻolo.
No ke koho ʻana i nā kolamu, e hoʻohana i ka hana select().
Aia ma lalo nā laʻana o ke code e hiki ai iā ʻoe ke koho i nā kolamu ma kēia mau ʻano:
Ka papa inoa o nā kolamu i makemake ʻia
E nānā i nā inoa kolamu me ka hoʻohana ʻana i nā ʻōlelo maʻamau
Ma ke ʻano ʻikepili a i ʻole kekahi waiwai ʻē aʻe o ka ʻikepili i loko o ke kolamu
Ke koho ʻana i nā kolamu ma 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)
Ke koho ʻana i nā kolamu ma R: data.table
Nā hana like ma data.table hana ʻokoʻa ʻē aʻe, ma ka hoʻomaka ʻana o ka ʻatikala ua hāʻawi au i ka wehewehe ʻana i nā manaʻo i loko o nā bracket square data.table.
DT[i,j,by]
ʻAuhea:
i - hea, ʻo ia hoʻi. kānana ma nā lālani
j - koho|hoohou|hana, i.e. ke koho ʻana i nā kolamu a me ka hoʻololi ʻana iā lākou
e - hui ʻikepili
Nā ʻano .SD hiki iā ʻoe ke komo i nā kolamu a pau, a .SDcols kānana i nā kolamu i makemake ʻia me ka hoʻohana ʻana i nā hōʻike maʻamau, a i ʻole nā hana ʻē aʻe e kānana i nā inoa o nā kolamu āu e pono ai.
Ke koho ʻana i nā kolamu ma Python, pandas
E koho i nā kolamu ma ka inoa ma pandas ua lawa ka haawi ana i ka papa inoa o ko lakou mau inoa. A no ke koho ʻana a haʻalele paha i nā kolamu ma ka inoa me ka hoʻohana ʻana i nā ʻōlelo maʻamau, pono ʻoe e hoʻohana i nā hana drop() и filter(), a me ka hoopaapaa axis=1, kahi āu e hōʻike ai he pono ke hoʻoponopono i nā kolamu ma mua o nā lālani.
No ke koho ʻana i kahi kahua ma ke ʻano ʻikepili, e hoʻohana i ka hana select_dtypes(), a ma ka hoopaapaa ana komo pū ai ole ia, waihoʻia e hāʻawi i kahi papa inoa o nā ʻano ʻikepili e pili ana i nā kahua āu e pono ai e koho.
Ke koho ʻana i nā kolamu ma 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'])
Kānana lālani
No ka laʻana, loaʻa paha i ka pākaukau kumu kekahi mau makahiki o ka ʻikepili, akā pono ʻoe e nānā i ka mahina i hala. Eia hou, e lohi nā laina ʻē aʻe i ke kaʻina hana ʻikepili a hoʻopaʻa i ka hoʻomanaʻo PC.
Kānana lālani ma R: tydyverse, dplyr
В dplyr hoʻohana ʻia ka hana e kānana i nā lālani filter(). Lawe ʻo ia i kahi dataframe e like me ka hoʻopaʻapaʻa mua, a laila kau inoa ʻoe i nā kūlana kānana.
I ke kākau ʻana i nā ʻōlelo hoʻopono e kānana i ka papaʻaina, i kēia hihia, e kuhikuhi i nā inoa kolamu me ka ʻole o ka hōʻike ʻana i ka inoa papa.
I ka hoʻohana ʻana i nā huaʻōlelo logical he nui e kānana, e hoʻohana i kēia mau mea hana:
& a i ʻole koma - logical AND
| - logical OR
Kānana lālani ma R: dplyr
# фильтрация строк
## dplyr
### фильтрация строк по одному условию
filter(ga_nov, source == "google")
### фильтр по двум условиям соединённым логическим и
filter(ga_nov, source == "google" & sessions >= 10)
### фильтр по двум условиям соединённым логическим или
filter(ga_nov, source == "google" | sessions >= 10)
Kānana lālani ma R: data.table
E like me kaʻu i kākau ai ma luna, ma data.table Hoʻopili ʻia ka syntax hoʻololi ʻikepili i nā bracket square.
DT[i,j,by]
ʻAuhea:
i - hea, ʻo ia hoʻi. kānana ma nā lālani
j - koho|hoohou|hana, i.e. ke koho ʻana i nā kolamu a me ka hoʻololi ʻana iā lākou
e - hui ʻikepili
Hoʻohana ʻia ka manaʻo e kānana i nā lālani i, nona ke kūlana mua ma nā bracket square.
Loaʻa ʻia nā kolamu ma nā ʻōlelo kūpono me ka ʻole o nā kaha puanaʻi a me ka wehewehe ʻole ʻana i ka inoa papa.
Hoʻopili ʻia nā ʻōlelo loiloi i kekahi i kekahi ma ke ʻano like me ka in dplyr ma o ka & a |
Kānana lālani ma R: data.table
## data.table
### фильтрация строк по одному условию
ga_nov[source == "google"]
### фильтр по двум условиям соединённым логическим и
ga_nov[source == "google" & sessions >= 10]
### фильтр по двум условиям соединённым логическим или
ga_nov[source == "google" | sessions >= 10]
Ke kānana ʻana i nā kaula ma Python: pandas
Kānana ma nā lālani i loko pandas like me ke kānana ʻana i loko data.table, a ua hana ʻia ma nā ʻāpana huinaha.
I kēia hihia, hiki ke komo i nā kolamu ma ka hōʻike ʻana i ka inoa o ka dataframe; a laila hiki ke hōʻike ʻia ka inoa kolamu ma nā kaha puʻupuʻu ma nā bracket square (hiʻohiʻonadf['col_name']), a i ʻole me ka ʻole o nā huaʻōlelo ma hope o ka manawa (hiʻohiʻonadf.col_name).
Inā pono ʻoe e kānana i kahi ʻikepili ma nā kūlana he nui, pono e kau ʻia kēlā me kēia kūlana i loko o nā pale. Hoʻopili ʻia nā kūlana loiloi kekahi i kekahi e nā mea hana & и |.
Ke kānana ʻana i nā kaula ma 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)]
ʻO ka hui a me ka hōʻuluʻulu ʻana o ka ʻikepili
ʻO kekahi o nā hana maʻamau i hoʻohana ʻia i ka ʻikepili ʻikepili ʻo ka hui ʻana a me ka hoʻohui.
Hoʻopuehu ʻia ka syntax no ka hana ʻana i kēia mau hana ma nā pūʻolo āpau a mākou e loiloi ai.
I kēia hihia, e lawe mākou i kahi dataframe ma ke ʻano he laʻana titanic, a e helu i ka helu a me ke kumu kūʻai maʻamau o nā tiketi ma muli o ka papa hale.
ʻO ka hui a me ka hōʻuluʻulu ʻana o ka ʻikepili ma R: tidyverse, dplyr
В dplyr hoʻohana ʻia ka hana no ka hui ʻana group_by(), a no ka houluulu ana summarise(). I ka ʻoiaʻiʻo, dplyr aia kahi ʻohana holoʻokoʻa o nā hana summarise_*(), akā, ʻo ke kumu o kēia ʻatikala e hoʻohālikelike i ka syntax kumu, no laila ʻaʻole mākou e hele i loko o ia ululāʻau.
Nā hana hoʻohui kumu:
sum() — houluulu
min() / max() - ka palena iki a me ka nui loa
mean() - awelika
median() — waena
length() - ka nui
ʻO ka hui ʻana a me ka hōʻuluʻulu ʻana ma R: dplyr
E hana group_by() ua hala mākou i ka papaʻaina e like me ka hoʻopaʻapaʻa mua titanic, a laila hōʻike i ke kahua Pclass, ma ia mea mākou e hui pū ai i kā mākou papaʻaina. ʻO ka hopena o kēia hana me ka hoʻohana ʻana i ka mea hoʻohana %>% i hala ma ke ʻano he kumu hoʻopaʻapaʻa mua i ka hana summarise(), a hoʻohui i 2 mau kahua: poe hele и avg_price. I ka mua, e hoʻohana i ka hana length() helu ʻia ka helu o nā tiketi, a ma ka lua e hoʻohana ana i ka hana mean() loaʻa ke kumukūʻai tiketi maʻamau.
ʻO ka hui a me ka hōʻuluʻulu ʻana o ka ʻikepili ma R: data.table
В data.table hoʻohana ʻia ka hoʻopaʻapaʻa no ka hōʻuluʻulu ʻana j nona ka lua o ke kulana ma na bracket square, a no ka hui by ai ole ia, keyby, nona ke kūlana kolu.
ʻO ka papa inoa o nā hana aggregation i kēia hihia he like ia me ka mea i wehewehe ʻia ma dplyr, no ka mea he mau hana kēia mai ka syntax R kumu.
ʻO ka hui a me ka hōʻuluʻulu ʻana ma R: data.table
## data.table
### фильтрация строк по одному условию
titanic[, .(passangers = length(PassengerId),
avg_price = mean(Fare)),
by = Pclass]
Ka hui ʻana a me ka hōʻuluʻulu ʻana o ka ʻikepili ma Python: pandas
ʻO ka hui ʻana i loko pandas like me dplyr, aka, aole like ka houluulu ana dplyr ʻaʻole ma data.table.
No ka hui, e hoʻohana i ke ala groupby(), pono ʻoe e hoʻokomo i kahi papa inoa o nā kolamu e hui pū ʻia ai ka ʻikepili.
No ka hui ʻana hiki iā ʻoe ke hoʻohana i ke ʻano agg()e ʻae ana i ka puke wehewehe ʻōlelo. ʻO nā kī puke wehewehe ʻōlelo nā kolamu kahi āu e hoʻohana ai i nā hana aggregation, a ʻo nā waiwai nā inoa o nā hana aggregation.
Nā hana hoʻohui:
sum() — houluulu
min() / max() - ka palena iki a me ka nui loa
mean() - awelika
median() — waena
count() - ka nui
kuleana pili i reset_index() i ka laʻana ma lalo nei ua hoʻohana ʻia e hoʻonohonoho hou i nā index nested pandas paʻamau ma hope o ka hōʻuluʻulu ʻikepili.
Hōʻailona hiki iā ʻoe ke neʻe i ka laina aʻe.
Ka hui ʻana a me ka hoʻohui ʻana ma Python: pandas
# группировка и агрегация данных
titanic.groupby(["Pclass"]).
agg({'PassengerId': 'count', 'Fare': 'mean'}).
reset_index()
Hui kū pololei o nā papa
He hana āu e hui ai i ʻelua a ʻoi aʻe paha nā papa o ka hale hoʻokahi. Aia ka ʻikepili a mākou i hoʻouka ai i nā papa ga_nov и ga_dec. Ua like keia mau papaaina i ke ano, i.e. loaʻa nā kolamu like, a me nā ʻano ʻikepili i kēia mau kolamu.
He hoʻoili kēia mai Google Analytics no ka mahina ʻo Nowemapa a me Kekemapa, ma kēia ʻāpana e hoʻohui mākou i kēia ʻikepili i hoʻokahi papa.
Hoʻohui ʻia nā papa ma R: tidyverse, dplyr
В dplyr Hiki iā ʻoe ke hoʻohui i nā papa ʻelua i hoʻokahi me ka hoʻohana ʻana i ka hana bind_rows(), e hāʻawi ana i nā papa ma ke ʻano he hoʻopaʻapaʻa.
Kānana lālani ma R: dplyr
# Вертикальное объединение таблиц
## dplyr
bind_rows(ga_nov, ga_dec)
ʻO ka hoʻohui ʻana i nā papa ma R: data.table
ʻAʻohe mea paʻakikī, e hoʻohana kākou rbind().
Kānana lālani ma R: data.table
## data.table
rbind(ga_nov, ga_dec)
Hoʻopili pololei i nā papa ma Python: pandas
В pandas hoʻohana ʻia ka hana e hoʻohui i nā papa concat(), kahi e pono ai ʻoe e hāʻawi i kahi papa inoa o nā papa e hoʻohui iā lākou.
Ke kānana ʻana i nā kaula ma Python: pandas
# вертикальное объединение таблиц
pd.concat([ga_nov, ga_dec])
ʻO ka hui ʻana o nā papa ʻaina
He hana i hoʻohui ʻia nā kolamu mai ka lua i ka papa mua ma ke kī. Hoʻohana pinepine ʻia i ka wā e hoʻonui ai i ka papa ʻoiaʻiʻo (no ka laʻana, he pākaukau me ka ʻikepili kūʻai) me kekahi ʻikepili kuhikuhi (no ka laʻana, ke kumukūʻai o kahi huahana).
Nui nā ʻano o nā hui:
I ka papaʻaina i hoʻouka mua ʻia titanic he kolamu ko makou Sex, e pili ana i ka helu kāne kāne o ka mea hele:
1 - wahine
2 - kāne
Eia kekahi, ua hana mākou i papaʻaina - he puke kuhikuhi oki kāne. No ka hōʻike maʻalahi o ka ʻikepili e pili ana i ke kāne o nā kaʻa, pono mākou e hoʻohui i ka inoa o ke kāne mai ka papa kuhikuhi oki kāne i ka papaaina titanic.
Hoʻohui ʻia ka papa ʻākau i ka R: tidyverse, dplyr
В dplyr Aia kahi ʻohana holoʻokoʻa o nā hana no ka hoʻohui ʻana i ke alo:
inner_join()
left_join()
right_join()
full_join()
semi_join()
nest_join()
anti_join()
ʻO ka mea maʻamau i hoʻohana ʻia i kaʻu hana left_join().
E like me nā ʻōlelo hoʻopaʻapaʻa mua ʻelua, ʻo nā hana i helu ʻia ma luna e lawe i ʻelua papa e hui pū ai, a ʻo ke kolu o ka hoʻopaʻapaʻa by pono ʻoe e kuhikuhi i nā kolamu e hui ai.
Hoʻohui ʻia ka papa ʻākau i R: dplyr
# объединяем таблицы
left_join(titanic, gender,
by = c("Sex" = "id"))
ʻO ka hui ʻana o nā papa ma R: data.table
В data.table Pono ʻoe e hoʻohui i nā papa ma ke kī me ka hoʻohana ʻana i ka hana merge().
Nā hoʻopaʻapaʻa e hoʻohui () hana ma data.table
x, y — Nā papa no ka hui ʻana
na — Kolume oia ke ki e hui ai ina he inoa like kona ma na papa elua
by.x, by.y — E hoʻohui ʻia nā inoa kolamu, inā he mau inoa ʻokoʻa ko lākou ma nā papa.
all, all.x, all.y — Hoʻohui like, e hoʻihoʻi nā mea a pau i nā lālani a pau mai nā papa ʻelua, all.x pili i ka hana LEFT JOIN (e waiho i nā lālani a pau o ka papa mua), all.y — pili i ka RIGHT JOIN (e waiho i nā lālani a pau o ka papa ʻelua).
Pela no hoi ma data.table, i loko pandas hoʻohana ʻia ka hana e hoʻohui i nā papa merge().
Nā hoʻopaʻapaʻa o ka merge() hana i nā pandas
pehea — ʻAno pili: hema, ʻākau, waho, loko
on — He kī ke kolamu inā like kona inoa ma nā papa ʻelua
left_on, right_on — Nā inoa o nā kolamu kī, inā he mau inoa ʻokoʻa ko lākou ma nā papa
Hoʻohui ʻia ka papa ʻaina ma Python: pandas
# объединяем по ключу
titanic.merge(gender, how = "left", left_on = "Sex", right_on = "id")
Nā hana puka makani kumu a me nā kolamu i helu ʻia
Ua like nā hana o ka puka makani me nā hana hoʻohui, a hoʻohana pinepine ʻia i ka ʻikepili ʻikepili. Akā ʻaʻole like me nā hana aggregation, ʻaʻole hoʻololi nā hana puka makani i ka helu o nā lālani o ka ʻikepili puka.
ʻO ka mea nui, me ka hoʻohana ʻana i ka hana puka makani, hoʻokaʻawale mākou i ka dataframe e komo mai i nā ʻāpana e like me kekahi criterion, i.e. ma ke kumu waiwai o kahi mahinaai, a i ole kekahi mau kahua. A ke hana nei mākou i nā hana helu ma kēlā me kēia pukaaniani. E hoʻihoʻi ʻia ka hopena o kēia mau hana i kēlā me kēia laina, ʻo ia hoʻi. me ka hoololi ole i ka huina o na lalani ma ka papa.
Eia kekahi laʻana, e lawe kākou i ka papaʻaina titanic. Hiki iā mākou ke helu i ka pākēneka o ke kumukūʻai o kēlā me kēia tiketi i loko o kāna papa hale.
No ka hana ʻana i kēia, pono mākou e loaʻa i kēlā me kēia laina i ka huina o ke kumukūʻai o kahi tikiki no ka papa hale kaʻa i kēia manawa nona ka tiketi ma kēia laina, a laila e puʻunaue i ke kumukūʻai o kēlā me kēia tiketi me ka huina o nā kumukūʻai o nā tiketi āpau o ka papa hoʻokahi. .
Hana nā puka makani ma R: tidyverse, dplyr
No ka hoʻohui ʻana i nā kolamu hou, me ka hoʻohana ʻole ʻana i ka hui lālani, in dplyr lawelawe hana mutate().
Hiki iā ʻoe ke hoʻoponopono i ka pilikia i hōʻike ʻia ma luna ma ka hui pū ʻana i ka ʻikepili ma ke kahua Pclass a e hōʻuluʻulu i ke kahua ma kahi kolamu hou hana. A laila, wehe i ka papaʻaina a puʻunaue i nā koina kahua hana i ka mea i hanaia ma ka hana mua.
Hoʻomau ka algorithm solution e like me ka in dplyr, pono mākou e hoʻokaʻawale i ka papaʻaina i nā puka makani ma ke kahua Pclass. E hoʻopuka i loko o kahi kolamu hou i ka nui no ka hui e pili ana i kēlā me kēia lālani, a hoʻohui i kahi kolamu kahi mākou e helu ai i ka mahele o ke kumukūʻai o kēlā me kēia tiketi ma kāna hui.
E hoʻohui i nā kolamu hou i data.table mea hoʻohana i kēia manawa :=. Aia ma lalo kahi laʻana o ka hoʻoponopono ʻana i kahi pilikia me ka hoʻohana ʻana i ka pūʻolo data.table
Hana nā puka makani ma R: data.table
titanic[,c("Pclass_cost","ticket_fare_rate") := .(sum(Fare), Fare / Pclass_cost),
by = Pclass]
Hana nā puka makani ma Python: pandas
Hoʻokahi ala e hoʻohui i kahi kolamu hou i pandas - hoʻohana i ka hana assign(). No ka hōʻuluʻulu ʻana i ke kumukūʻai o nā tiketi e ka papa cabin, me ka ʻole o ka hui ʻana i nā lālani, e hoʻohana mākou i ka hana transform().
Aia ma lalo kahi laʻana o kahi hoʻonā a mākou e hoʻohui ai i ka papaʻaina titanic like 2 kolamu.
Ke hana nei i nā ʻikepili tibble() data.table() dict() + from_dict()
Ke koho ʻana i nā kolamu select()
hoʻopaʻapaʻa j, kūlana lua ma nā bracket square
hāʻawi mākou i ka papa inoa o nā kolamu i koi ʻia i nā bracket square / drop() / filter() / select_dtypes()
Kānana lālani filter()
hoʻopaʻapaʻa i, kūlana mua ma nā bracket square
Hoʻopaʻa inoa mākou i nā kūlana kānana ma nā bracket square / filter()
Ka Hui a me ka Hui group_by() + summarise()
nā paio j + by groupby() + agg()
Hui kū pololei o nā papa (UNION) bind_rows() rbind() concat()
Hoʻohui ʻākau o nā papa (JOIN) left_join() / *_join() merge() merge()
Nā hana puka makani kumu a me ka hoʻohui ʻana i nā kolamu i helu ʻia group_by() + mutate()
hoʻopaʻapaʻa j hoʻohana i ka mea hoʻohana := + hoʻopaʻapaʻa by transform() + assign()
hopena
Malia paha i loko o ka ʻatikala aʻu i wehewehe ai ʻaʻole i ka hoʻokō maikaʻi loa o ka hoʻoili ʻana i ka ʻikepili, no laila e hauʻoli wau inā hoʻoponopono ʻoe i kaʻu mau hewa i nā ʻōlelo, a i ʻole e hoʻohui i ka ʻike i hāʻawi ʻia ma ka ʻatikala me nā ʻenehana ʻē aʻe no ka hana ʻana me ka ʻikepili ma R / Python.
E like me kaʻu i kākau ai ma luna nei, ʻo ke kumu o ka ʻatikala ʻaʻole ia e hoʻokau i ka manaʻo o ka ʻōlelo i ʻoi aku ka maikaʻi, akā no ka maʻalahi o ka manawa e aʻo ai i nā ʻōlelo ʻelua, a i ʻole, inā pono, e neʻe i waena o lākou.
Inā makemake ʻoe i ka ʻatikala, e hauʻoli wau i ka loaʻa ʻana o nā mea kākau inoa hou i kaʻu Ukulele и telegram nā kahawai.
Pākuʻi
ʻO wai o kēia mau pūʻolo āu e hoʻohana ai i kāu hana?
Ma nā ʻōlelo hiki iā ʻoe ke kākau i ke kumu o kāu koho.
Hiki i nā mea hoʻohana i hoʻopaʻa inoa ʻia ke komo i ka noiʻi. Eʻe, e 'oluʻolu.
ʻO ka pūʻolo hoʻoili ʻikepili āu e hoʻohana ai (hiki iā ʻoe ke koho i kekahi mau koho)
45,2%maʻemaʻe19
33,3%ʻikepili.papa14
54,8%pandas23
42 mea hoʻohana i koho. Ua hōʻole nā mea hoʻohana 9.