డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

ఇంటర్నెట్‌లో R లేదా Python కోసం శోధించడం ద్వారా, మీరు డేటాతో పని చేయడానికి ఉత్తమమైన, వేగవంతమైన మరియు మరింత సౌకర్యవంతంగా ఉండే అంశంపై మిలియన్ల కొద్దీ కథనాలు మరియు కిలోమీటర్ల చర్చలను కనుగొంటారు. కానీ దురదృష్టవశాత్తు, ఈ కథనాలు మరియు వివాదాలన్నీ ప్రత్యేకంగా ఉపయోగపడవు.

డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

ఈ కథనం యొక్క ఉద్దేశ్యం రెండు భాషలలోని అత్యంత ప్రజాదరణ పొందిన ప్యాకేజీలలోని ప్రాథమిక డేటా ప్రాసెసింగ్ పద్ధతులను పోల్చడం. మరియు పాఠకులకు ఇంకా తెలియని వాటిని త్వరగా నేర్చుకోవడంలో సహాయపడండి. పైథాన్‌లో వ్రాసే వారికి, అదే పనిని R లో ఎలా చేయాలో తెలుసుకోండి మరియు దీనికి విరుద్ధంగా.

ఆర్టికల్‌లో ఆర్‌లో అత్యంత ప్రజాదరణ పొందిన ప్యాకేజీల సింటాక్స్‌ని మేము విశ్లేషిస్తాము. ఇవి లైబ్రరీలో చేర్చబడిన ప్యాకేజీలు tidyverseమరియు ప్యాకేజీ కూడా data.table. మరియు వారి వాక్యనిర్మాణాన్ని పోల్చండి pandas, పైథాన్‌లో అత్యంత ప్రజాదరణ పొందిన డేటా విశ్లేషణ ప్యాకేజీ.

మేము డేటా విశ్లేషణ యొక్క మొత్తం మార్గంలో లోడ్ చేయడం నుండి పైథాన్ మరియు R ఉపయోగించి విశ్లేషణాత్మక విండో ఫంక్షన్‌లను నిర్వహించడం వరకు దశలవారీగా వెళ్తాము.

కంటెంట్

పరిశీలనలో ఉన్న ప్యాకేజీలలో ఒకదానిలో కొంత డేటా ప్రాసెసింగ్ ఆపరేషన్‌ను ఎలా నిర్వహించాలో మీరు మరచిపోయినట్లయితే, ఈ కథనాన్ని చీట్ షీట్‌గా ఉపయోగించవచ్చు.

డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

  1. R మరియు పైథాన్ మధ్య ప్రధాన సింటాక్స్ తేడాలు
    <span style="font-family: arial; ">10</span> ప్యాకేజీ విధులను యాక్సెస్ చేస్తోంది
    <span style="font-family: arial; ">10</span> అప్పగింత
    <span style="font-family: arial; ">10</span> ఇండెక్సింగ్
    <span style="font-family: arial; ">10</span> పద్ధతులు మరియు OOP
    <span style="font-family: arial; ">10</span> పైపులైన్లు
    <span style="font-family: arial; ">10</span> డేటా నిర్మాణాలు
  2. మేము ఉపయోగించే ప్యాకేజీల గురించి కొన్ని మాటలు
    <span style="font-family: arial; ">10</span> చక్కనైన
    <span style="font-family: arial; ">10</span> డేటా. టేబుల్
    <span style="font-family: arial; ">10</span> పాండాలు
  3. ప్యాకేజీలను ఇన్‌స్టాల్ చేస్తోంది
  4. డేటా లోడ్ అవుతోంది
  5. డేటాఫ్రేమ్‌లను సృష్టిస్తోంది
  6. మీకు అవసరమైన నిలువు వరుసలను ఎంచుకోవడం
  7. వడపోత వరుసలు
  8. గ్రూపింగ్ మరియు అగ్రిగేషన్
  9. పట్టికల నిలువు యూనియన్ (UNION)
  10. పట్టికల క్షితిజ సమాంతర చేరిక (JOIN)
  11. ప్రాథమిక విండో విధులు మరియు లెక్కించిన నిలువు వరుసలు
  12. R మరియు పైథాన్‌లో డేటా ప్రాసెసింగ్ పద్ధతుల మధ్య కరస్పాండెన్స్ పట్టిక
  13. తీర్మానం
  14. మీరు ఉపయోగించే ప్యాకేజీ గురించి చిన్న సర్వే

మీరు డేటా విశ్లేషణలో ఆసక్తి కలిగి ఉంటే, మీరు నా కనుగొనవచ్చు టెలిగ్రామ్ и YouTube ఛానెల్‌లు. చాలా కంటెంట్ R భాషకు అంకితం చేయబడింది.

R మరియు పైథాన్ మధ్య ప్రధాన సింటాక్స్ తేడాలు

మీరు పైథాన్ నుండి Rకి మారడాన్ని సులభతరం చేయడానికి లేదా దీనికి విరుద్ధంగా, మీరు శ్రద్ధ వహించాల్సిన కొన్ని ప్రధాన అంశాలను నేను ఇస్తాను.

ప్యాకేజీ విధులను యాక్సెస్ చేస్తోంది

ప్యాకేజీ R లోకి లోడ్ అయిన తర్వాత, మీరు దాని ఫంక్షన్‌లను యాక్సెస్ చేయడానికి ప్యాకేజీ పేరును పేర్కొనవలసిన అవసరం లేదు. చాలా సందర్భాలలో ఇది R లో సాధారణం కాదు, కానీ ఇది ఆమోదయోగ్యమైనది. మీకు మీ కోడ్‌లో దాని ఫంక్షన్‌లలో ఒకటి అవసరమైతే మీరు ప్యాకేజీని దిగుమతి చేయవలసిన అవసరం లేదు, కానీ ప్యాకేజీ పేరు మరియు ఫంక్షన్ పేరును పేర్కొనడం ద్వారా దానిని కాల్ చేయండి. R లో ప్యాకేజీ మరియు ఫంక్షన్ పేర్ల మధ్య సెపరేటర్ డబుల్ కోలన్. package_name::function_name().

పైథాన్‌లో, దీనికి విరుద్ధంగా, ప్యాకేజీ పేరును స్పష్టంగా పేర్కొనడం ద్వారా దాని ఫంక్షన్‌లను కాల్ చేయడం క్లాసిక్‌గా పరిగణించబడుతుంది. ప్యాకేజీని డౌన్‌లోడ్ చేసినప్పుడు, సాధారణంగా దానికి సంక్షిప్త పేరు ఇవ్వబడుతుంది, ఉదా. pandas సాధారణంగా మారుపేరు ఉపయోగించబడుతుంది pd. ఒక ప్యాకేజీ ఫంక్షన్ డాట్ ద్వారా యాక్సెస్ చేయబడుతుంది package_name.function_name().

అప్పగింత

R లో, ఒక వస్తువుకు విలువను కేటాయించడానికి బాణాన్ని ఉపయోగించడం సర్వసాధారణం. obj_name <- value, సింగిల్ ఈక్వెల్స్ సైన్ అనుమతించబడినప్పటికీ, ఆర్గ్యుమెంట్‌లను ఫంక్షన్ చేయడానికి విలువలను పాస్ చేయడానికి R లో సింగిల్ ఈక్వెల్స్ సైన్ ఉపయోగించబడుతుంది.

పైథాన్‌లో, అసైన్‌మెంట్ ప్రత్యేకంగా ఒకే ఈక్వల్స్ గుర్తుతో చేయబడుతుంది obj_name = value.

ఇండెక్సింగ్

ఇక్కడ కూడా చాలా ముఖ్యమైన తేడాలు ఉన్నాయి. Rలో, ఇండెక్సింగ్ ఒకదానితో మొదలవుతుంది మరియు ఫలిత పరిధిలో పేర్కొన్న అన్ని అంశాలను కలిగి ఉంటుంది,

పైథాన్‌లో, ఇండెక్సింగ్ సున్నా నుండి ప్రారంభమవుతుంది మరియు ఎంచుకున్న పరిధి సూచికలో పేర్కొన్న చివరి మూలకాన్ని కలిగి ఉండదు. కాబట్టి డిజైన్ x[i:j] పైథాన్‌లో j మూలకం చేర్చబడదు.

R సంజ్ఞామానంలో ప్రతికూల సూచికలో కూడా తేడాలు ఉన్నాయి x[-1] చివరిది మినహా వెక్టర్ యొక్క అన్ని మూలకాలను తిరిగి ఇస్తుంది. పైథాన్‌లో, ఇదే విధమైన సంజ్ఞామానం చివరి మూలకాన్ని మాత్రమే అందిస్తుంది.

పద్ధతులు మరియు OOP

R దాని స్వంత మార్గంలో OOPని అమలు చేస్తుంది, నేను దీని గురించి వ్యాసంలో వ్రాసాను "OOP R భాషలో (భాగం 1): S3 తరగతులు". సాధారణంగా, R అనేది ఫంక్షనల్ లాంగ్వేజ్, మరియు దానిలోని ప్రతిదీ ఫంక్షన్లపై నిర్మించబడింది. కాబట్టి, ఉదాహరణకు, Excel వినియోగదారుల కోసం, వెళ్ళండి tydiverse కంటే సులభంగా ఉంటుంది pandas. ఇది నా ఆత్మాశ్రయ అభిప్రాయం అయినప్పటికీ.

సంక్షిప్తంగా, R లోని వస్తువులకు పద్ధతులు లేవు (మేము S3 తరగతుల గురించి మాట్లాడినట్లయితే, కానీ చాలా తక్కువ సాధారణమైన ఇతర OOP అమలులు ఉన్నాయి). వస్తువు యొక్క తరగతిపై ఆధారపడి వాటిని విభిన్నంగా ప్రాసెస్ చేసే సాధారణీకరించిన విధులు మాత్రమే ఉన్నాయి.

పైపులైన్లు

బహుశా దీనికి పేరు pandas ఇది పూర్తిగా సరైనది కాదు, కానీ నేను అర్థాన్ని వివరించడానికి ప్రయత్నిస్తాను.

ఇంటర్మీడియట్ లెక్కలను సేవ్ చేయకూడదని మరియు పని వాతావరణంలో అనవసరమైన వస్తువులను ఉత్పత్తి చేయకుండా ఉండటానికి, మీరు ఒక రకమైన పైప్లైన్ను ఉపయోగించవచ్చు. ఆ. ఒక గణన యొక్క ఫలితాన్ని ఒక ఫంక్షన్ నుండి మరొకదానికి పంపండి మరియు ఇంటర్మీడియట్ ఫలితాలను సేవ్ చేయవద్దు.

కింది కోడ్ ఉదాహరణను తీసుకుందాం, ఇక్కడ మేము ఇంటర్మీడియట్ లెక్కలను ప్రత్యేక వస్తువులలో నిల్వ చేస్తాము:

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

మేము వరుసగా 3 ఆపరేషన్లు చేసాము మరియు ప్రతి దాని ఫలితం ప్రత్యేక వస్తువులో సేవ్ చేయబడింది. కానీ నిజానికి, మనకు ఈ ఇంటర్మీడియట్ వస్తువులు అవసరం లేదు.

లేదా అధ్వాన్నంగా, కానీ Excel వినియోగదారులకు మరింత సుపరిచితం.

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

ఈ సందర్భంలో, మేము ఇంటర్మీడియట్ లెక్కింపు ఫలితాలను సేవ్ చేయలేదు, కానీ సమూహ ఫంక్షన్‌లతో కోడ్ చదవడం చాలా అసౌకర్యంగా ఉంటుంది.

మేము R లో డేటా ప్రాసెసింగ్‌కు సంబంధించిన అనేక విధానాలను పరిశీలిస్తాము మరియు అవి ఒకే విధమైన కార్యకలాపాలను వివిధ మార్గాల్లో నిర్వహిస్తాయి.

లైబ్రరీలో పైపులైన్లు tidyverse ఆపరేటర్ ద్వారా అమలు చేయబడింది %>%.

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

ఈ విధంగా మేము పని ఫలితాన్ని తీసుకుంటాము func1() మరియు దానిని మొదటి వాదనగా పాస్ చేయండి func2(), అప్పుడు మేము ఈ గణన ఫలితాన్ని మొదటి వాదనగా పాస్ చేస్తాము func3(). మరియు చివరికి, మేము ఆబ్జెక్ట్‌లో ప్రదర్శించిన అన్ని గణనలను వ్రాస్తాము obj <-.

పైవన్నీ ఈ పోటిలో పదాల కంటే మెరుగ్గా వివరించబడ్డాయి:
డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

В data.table గొలుసులు ఇదే విధంగా ఉపయోగించబడతాయి.

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

ప్రతి చదరపు బ్రాకెట్లలో మీరు మునుపటి ఆపరేషన్ ఫలితాన్ని ఉపయోగించవచ్చు.

В pandas అటువంటి కార్యకలాపాలు డాట్ ద్వారా వేరు చేయబడతాయి.

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

ఆ. మేము మా టేబుల్ తీసుకుంటాము df మరియు ఆమె పద్ధతిని ఉపయోగించండి fun1(), అప్పుడు మేము పొందిన ఫలితానికి పద్ధతిని వర్తింపజేస్తాము fun2()తరువాత fun3(). ఫలిత ఫలితం ఒక వస్తువులో సేవ్ చేయబడుతుంది ఆబ్జెక్ట్ .

డేటా నిర్మాణాలు

R మరియు పైథాన్‌లోని డేటా స్ట్రక్చర్‌లు ఒకేలా ఉంటాయి, కానీ వేర్వేరు పేర్లను కలిగి ఉంటాయి.

వివరణ
R లో పేరు
పైథాన్/పాండాస్‌లో పేరు

టేబుల్ నిర్మాణం
data.frame, data.table, tibble
డేటా ఫ్రేమ్

విలువల యొక్క ఒక డైమెన్షనల్ జాబితా
వెక్టర్
పాండాల్లో సిరీస్ లేదా స్వచ్ఛమైన పైథాన్‌లో జాబితా

బహుళ-స్థాయి నాన్-టేబులర్ నిర్మాణం
జాబితా
నిఘంటువు (డిక్ట్)

మేము దిగువ వాక్యనిర్మాణంలో కొన్ని ఇతర లక్షణాలు మరియు తేడాలను పరిశీలిస్తాము.

మేము ఉపయోగించే ప్యాకేజీల గురించి కొన్ని మాటలు

మొదట, ఈ వ్యాసంలో మీకు తెలిసిన ప్యాకేజీల గురించి నేను మీకు కొంచెం చెబుతాను.

చక్కనైన

అధికారిక వెబ్సైట్: tidyverse.org
డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు
గ్రంధాలయం tidyverse RStudioలో సీనియర్ రీసెర్చ్ సైంటిస్ట్ హెడ్లీ విక్హామ్ రాశారు. tidyverse డేటా ప్రాసెసింగ్‌ను సులభతరం చేసే అద్భుతమైన ప్యాకేజీల సెట్‌ను కలిగి ఉంటుంది, వీటిలో 5 CRAN రిపోజిటరీ నుండి టాప్ 10 డౌన్‌లోడ్‌లలో చేర్చబడ్డాయి.

లైబ్రరీ యొక్క ప్రధాన భాగం క్రింది ప్యాకేజీలను కలిగి ఉంటుంది: ggplot2, dplyr, tidyr, readr, purrr, tibble, stringr, forcats. ఈ ప్యాకేజీలలో ప్రతి ఒక్కటి నిర్దిష్ట సమస్యను పరిష్కరించడానికి ఉద్దేశించబడింది. ఉదాహరణకి dplyr డేటా మానిప్యులేషన్ కోసం సృష్టించబడింది, tidyr డేటాను చక్కని రూపంలోకి తీసుకురావడానికి, stringr తీగలతో పనిని సులభతరం చేస్తుంది మరియు ggplot2 అత్యంత ప్రజాదరణ పొందిన డేటా విజువలైజేషన్ సాధనాల్లో ఒకటి.

ప్రయోజనం tidyverse అనేది సరళత మరియు సులభంగా చదవగలిగే వాక్యనిర్మాణం, ఇది అనేక విధాలుగా SQL ప్రశ్న భాష వలె ఉంటుంది.

డేటా. టేబుల్

డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారుఅధికారిక వెబ్సైట్: r-datatable.com

రచయిత data.table H2O.ai యొక్క మాట్ డోల్.

లైబ్రరీ యొక్క మొదటి విడుదల 2006లో జరిగింది.

ప్యాకేజీ వాక్యనిర్మాణం లో వలె సౌకర్యవంతంగా లేదు tidyverse మరియు R లో క్లాసిక్ డేటాఫ్రేమ్‌లను మరింత గుర్తుకు తెస్తుంది, కానీ అదే సమయంలో కార్యాచరణలో గణనీయంగా విస్తరించింది.

ఈ ప్యాకేజీలోని పట్టికతో అన్ని అవకతవకలు చదరపు బ్రాకెట్లలో వివరించబడ్డాయి మరియు మీరు వాక్యనిర్మాణాన్ని అనువదిస్తే data.table SQLలో, మీరు ఇలాంటివి పొందుతారు: data.table[ WHERE, SELECT, GROUP BY ]

ఈ ప్యాకేజీ యొక్క బలం పెద్ద మొత్తంలో డేటాను ప్రాసెస్ చేసే వేగం.

పాండాలు

అధికారిక వెబ్సైట్: pandas.pydata.org డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

లైబ్రరీ పేరు "ప్యానెల్ డేటా" అనే ఎకనామెట్రిక్ పదం నుండి వచ్చింది, ఇది బహుళ డైమెన్షనల్ నిర్మాణాత్మక సమాచారాన్ని వివరించడానికి ఉపయోగిస్తారు.

రచయిత pandas అమెరికన్ వెస్ మెకిన్నే.

పైథాన్‌లో డేటా విశ్లేషణ విషయానికి వస్తే, సమానం pandas నం. ఏదైనా మూలాల నుండి డేటాను లోడ్ చేయడం నుండి దానిని దృశ్యమానం చేయడం వరకు డేటాతో ఏదైనా తారుమారు చేయడానికి మిమ్మల్ని అనుమతించే చాలా మల్టీఫంక్షనల్, హై-లెవల్ ప్యాకేజీ.

అదనపు ప్యాకేజీలను ఇన్‌స్టాల్ చేస్తోంది

ఈ వ్యాసంలో చర్చించబడిన ప్యాకేజీలు ప్రాథమిక R మరియు పైథాన్ పంపిణీలలో చేర్చబడలేదు. ఒక చిన్న హెచ్చరిక ఉన్నప్పటికీ, మీరు Anaconda పంపిణీని ఇన్‌స్టాల్ చేసినట్లయితే, అదనంగా ఇన్‌స్టాల్ చేయండి pandas అవసరం లేదు.

R లో ప్యాకేజీలను ఇన్‌స్టాల్ చేస్తోంది

మీరు కనీసం ఒక్కసారైనా RStudio డెవలప్‌మెంట్ ఎన్విరాన్‌మెంట్‌ని తెరిచి ఉంటే, R లో అవసరమైన ప్యాకేజీని ఎలా ఇన్‌స్టాల్ చేయాలో మీకు ఇప్పటికే తెలిసి ఉండవచ్చు. ప్యాకేజీలను ఇన్‌స్టాల్ చేయడానికి, ప్రామాణిక ఆదేశాన్ని ఉపయోగించండి install.packages() దీన్ని నేరుగా R లోనే అమలు చేయడం ద్వారా.

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

సంస్థాపన తర్వాత, ప్యాకేజీలు కనెక్ట్ చేయబడాలి, దీని కోసం చాలా సందర్భాలలో ఆదేశం ఉపయోగించబడుతుంది library().

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

పైథాన్‌లో ప్యాకేజీలను ఇన్‌స్టాల్ చేస్తోంది

కాబట్టి, మీరు స్వచ్ఛమైన పైథాన్‌ను ఇన్‌స్టాల్ చేసి ఉంటే, అప్పుడు pandas మీరు దీన్ని మాన్యువల్‌గా ఇన్‌స్టాల్ చేయాలి. మీ ఆపరేటింగ్ సిస్టమ్‌పై ఆధారపడి కమాండ్ లైన్ లేదా టెర్మినల్‌ను తెరిచి, కింది ఆదేశాన్ని నమోదు చేయండి.

pip install pandas

అప్పుడు మేము పైథాన్‌కి తిరిగి వెళ్లి, కమాండ్‌తో ఇన్‌స్టాల్ చేసిన ప్యాకేజీని దిగుమతి చేస్తాము import.

import pandas as pd

డేటా లోడ్ అవుతోంది

డేటా మైనింగ్ అనేది డేటా విశ్లేషణలో అత్యంత ముఖ్యమైన దశలలో ఒకటి. పైథాన్ మరియు R రెండూ, కావాలనుకుంటే, ఏదైనా మూలాల నుండి డేటాను పొందడానికి మీకు విస్తృతమైన అవకాశాలను అందిస్తాయి: స్థానిక ఫైల్‌లు, ఇంటర్నెట్ నుండి ఫైల్‌లు, వెబ్‌సైట్‌లు, అన్ని రకాల డేటాబేస్‌లు.

డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

వ్యాసం అంతటా మేము అనేక డేటాసెట్లను ఉపయోగిస్తాము:

  1. Google Analytics నుండి రెండు డౌన్‌లోడ్‌లు.
  2. టైటానిక్ ప్యాసింజర్ డేటాసెట్.

మొత్తం డేటా నా వద్ద ఉంది గ్యాలరీలు csv మరియు tsv ఫైల్‌ల రూపంలో. మేము వాటిని ఎక్కడ నుండి అభ్యర్థిస్తాము?

R లోకి డేటా లోడ్ అవుతోంది: టైడివర్స్, వ్రూమ్, రీడర్

లైబ్రరీలోకి డేటాను లోడ్ చేయడానికి tidyverse రెండు ప్యాకేజీలు ఉన్నాయి: vroom, readr. vroom మరింత ఆధునికమైనది, కానీ భవిష్యత్తులో ప్యాకేజీలను కలపవచ్చు.

నుండి కోట్ అధికారిక డాక్యుమెంటేషన్ vroom.

vroom vs రీడర్
విడుదల ఏమి చేస్తుంది vroom కోసం అర్థం readr? ప్రస్తుతానికి మేము రెండు ప్యాకేజీలను విడివిడిగా అభివృద్ధి చేయడానికి ప్లాన్ చేస్తున్నాము, అయితే భవిష్యత్తులో మేము ప్యాకేజీలను ఏకం చేసే అవకాశం ఉంది. వ్రూమ్ యొక్క లేజీ రీడింగ్‌కు ఒక ప్రతికూలత ఏమిటంటే, నిర్దిష్ట డేటా సమస్యలను ముందుగా నివేదించలేము, కాబట్టి వాటిని ఎలా ఉత్తమంగా ఏకీకృతం చేయాలో కొంత ఆలోచించడం అవసరం.

vroom vs రీడర్
విడుదల అంటే ఏమిటి? vroom కోసం readr? ప్రస్తుతానికి మేము రెండు ప్యాకేజీలను విడివిడిగా అభివృద్ధి చేయాలని ప్లాన్ చేస్తున్నాము, అయితే మేము బహుశా భవిష్యత్తులో వాటిని మిళితం చేస్తాము. సోమరితనం చదవడం వల్ల కలిగే నష్టాలలో ఒకటి vroom డేటాతో కొన్ని సమస్యలు ముందుగానే నివేదించబడవు, కాబట్టి మీరు వాటిని ఎలా ఉత్తమంగా కలపాలి అనే దాని గురించి ఆలోచించాలి.

ఈ వ్యాసంలో మేము రెండు డేటా లోడింగ్ ప్యాకేజీలను పరిశీలిస్తాము:

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")

R: రీడర్‌లోకి డేటా లోడ్ అవుతోంది

# 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")

ప్యాకేజీలో vroom, csv / tsv డేటా ఫార్మాట్‌తో సంబంధం లేకుండా, లోడ్ చేయడం అదే పేరుతో నిర్వహించబడుతుంది vroom(), ప్యాకేజీలో readr మేము ప్రతి ఫార్మాట్ కోసం వేరే ఫంక్షన్‌ని ఉపయోగిస్తాము read_tsv() и read_csv().

R లోకి డేటా లోడ్ అవుతోంది: data.table

В data.table డేటాను లోడ్ చేయడానికి ఒక ఫంక్షన్ ఉంది fread().

R లోకి డేటాను లోడ్ చేస్తోంది: data.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")

పైథాన్‌లో డేటా లోడ్ అవుతోంది: పాండాలు

మేము R ప్యాకేజీలతో పోల్చినట్లయితే, ఈ సందర్భంలో వాక్యనిర్మాణం దగ్గరగా ఉంటుంది pandas ఉంటుంది readr, ఎందుకంటే pandas ఎక్కడి నుండైనా డేటాను అభ్యర్థించవచ్చు మరియు ఈ ప్యాకేజీలో ఫంక్షన్ల యొక్క మొత్తం కుటుంబం ఉంది read_*().

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

మరియు వివిధ ఫార్మాట్‌ల నుండి డేటాను చదవడానికి రూపొందించబడిన అనేక ఇతర విధులు. కానీ మా ప్రయోజనాల కోసం ఇది సరిపోతుంది read_table() లేదా read_csv() వాదన ఉపయోగించి Sep కాలమ్ సెపరేటర్‌ను పేర్కొనడానికి.

పైథాన్‌లో డేటా లోడ్ అవుతోంది: పాండాలు

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")

డేటాఫ్రేమ్‌లను సృష్టిస్తోంది

పట్టిక టైటానిక్, మేము లోడ్ చేసిన, ఒక ఫీల్డ్ ఉంది సెక్స్, ఇది ప్రయాణీకుల లింగ గుర్తింపును నిల్వ చేస్తుంది.

కానీ ప్రయాణీకుల లింగం పరంగా డేటా యొక్క మరింత సౌకర్యవంతమైన ప్రదర్శన కోసం, మీరు లింగ కోడ్ కంటే పేరును ఉపయోగించాలి.

దీన్ని చేయడానికి, మేము ఒక చిన్న డైరెక్టరీని సృష్టిస్తాము, ఇందులో వరుసగా 2 నిలువు వరుసలు (కోడ్ మరియు లింగం పేరు) మరియు 2 వరుసలు మాత్రమే ఉంటాయి.

R: tidyverse, dplyrలో డేటాఫ్రేమ్‌ను సృష్టిస్తోంది

దిగువ కోడ్ ఉదాహరణలో, మేము ఫంక్షన్‌ని ఉపయోగించి కావలసిన డేటాఫ్రేమ్‌ను సృష్టిస్తాము tibble() .

R: dplyrలో డేటాఫ్రేమ్‌ను సృష్టిస్తోంది

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

R: data.tableలో డేటాఫ్రేమ్‌ను సృష్టిస్తోంది

R: data.tableలో డేటాఫ్రేమ్‌ను సృష్టిస్తోంది

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

పైథాన్‌లో డేటాఫ్రేమ్‌ను సృష్టిస్తోంది: పాండాలు

В pandas ఫ్రేమ్‌ల సృష్టి అనేక దశల్లో నిర్వహించబడుతుంది, మొదట మేము నిఘంటువును సృష్టిస్తాము, ఆపై నిఘంటువును డేటాఫ్రేమ్‌గా మారుస్తాము.

పైథాన్‌లో డేటాఫ్రేమ్‌ను సృష్టిస్తోంది: పాండాలు

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

నిలువు వరుసలను ఎంచుకోవడం

మీరు పని చేసే పట్టికలు డజన్ల కొద్దీ లేదా వందల కొద్దీ కాలమ్‌ల డేటాను కలిగి ఉండవచ్చు. కానీ విశ్లేషణను నిర్వహించడానికి, ఒక నియమం వలె, మూల పట్టికలో అందుబాటులో ఉన్న అన్ని నిలువు వరుసలు మీకు అవసరం లేదు.

డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

అందువల్ల, మీరు సోర్స్ టేబుల్‌తో చేసే మొదటి ఆపరేషన్లలో ఒకటి అనవసరమైన సమాచారాన్ని క్లియర్ చేయడం మరియు ఈ సమాచారం ఆక్రమించిన మెమరీని ఖాళీ చేయడం.

R లో నిలువు వరుసలను ఎంచుకోవడం: tidyverse, dplyr

వాక్యనిర్మాణం dplyr SQL ప్రశ్న భాషకి చాలా పోలి ఉంటుంది, మీకు దాని గురించి తెలిసి ఉంటే మీరు ఈ ప్యాకేజీని త్వరగా నేర్చుకుంటారు.

నిలువు వరుసలను ఎంచుకోవడానికి, ఫంక్షన్‌ని ఉపయోగించండి select().

మీరు క్రింది మార్గాల్లో నిలువు వరుసలను ఎంచుకోగల కోడ్ యొక్క ఉదాహరణలు క్రింద ఉన్నాయి:

  • అవసరమైన నిలువు వరుసల పేర్లను జాబితా చేయడం
  • సాధారణ వ్యక్తీకరణలను ఉపయోగించి నిలువు వరుస పేర్లను చూడండి
  • డేటా రకం లేదా కాలమ్‌లో ఉన్న డేటా యొక్క ఏదైనా ఇతర ఆస్తి ద్వారా

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)

R: data.tableలో నిలువు వరుసలను ఎంచుకోవడం

లో అదే కార్యకలాపాలు data.table కొద్దిగా భిన్నంగా ప్రదర్శించబడతాయి, వ్యాసం ప్రారంభంలో నేను చదరపు బ్రాకెట్లలో ఏ వాదనలు ఉన్నాయో వివరణను అందించాను data.table.

DT[i,j,by]

పేరు:
నేను - ఎక్కడ, అనగా. వరుసల ద్వారా వడపోత
j - ఎంచుకోండి|నవీకరణ|చేయండి, అనగా. నిలువు వరుసలను ఎంచుకోవడం మరియు వాటిని మార్చడం
డేటా గ్రూపింగ్ ద్వారా

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$")]

వేరియబుల్ .SD మీరు అన్ని నిలువు వరుసలను యాక్సెస్ చేయడానికి అనుమతిస్తుంది, మరియు .SDcols మీకు అవసరమైన నిలువు వరుసల పేర్లను ఫిల్టర్ చేయడానికి సాధారణ వ్యక్తీకరణలు లేదా ఇతర ఫంక్షన్‌లను ఉపయోగించి అవసరమైన నిలువు వరుసలను ఫిల్టర్ చేయండి.

పైథాన్, పాండాలలో నిలువు వరుసలను ఎంచుకోవడం

పేరు ద్వారా నిలువు వరుసలను ఎంచుకోవడానికి pandas వారి పేర్ల జాబితాను అందిస్తే సరిపోతుంది. మరియు సాధారణ వ్యక్తీకరణలను ఉపయోగించి పేరుతో నిలువు వరుసలను ఎంచుకోవడానికి లేదా మినహాయించడానికి, మీరు ఫంక్షన్లను ఉపయోగించాలి drop() и filter(), మరియు వాదన అక్షం=1, అడ్డు వరుసల కంటే నిలువు వరుసలను ప్రాసెస్ చేయడం అవసరమని మీరు సూచిస్తున్నారు.

డేటా రకం ద్వారా ఫీల్డ్‌ను ఎంచుకోవడానికి, ఫంక్షన్‌ని ఉపయోగించండి select_dtypes(), మరియు వాదనలలోకి ఉన్నాయి లేదా మినహాయించాలని మీరు ఎంచుకోవాల్సిన ఫీల్డ్‌లకు సంబంధించిన డేటా రకాల జాబితాను పాస్ చేయండి.

పైథాన్‌లో నిలువు వరుసలను ఎంచుకోవడం: పాండాలు

# Выбор полей по названию
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'])

వడపోత వరుసలు

ఉదాహరణకు, సోర్స్ టేబుల్‌లో చాలా సంవత్సరాల డేటా ఉండవచ్చు, కానీ మీరు గత నెలను మాత్రమే విశ్లేషించాలి. మళ్ళీ, అదనపు పంక్తులు డేటా ప్రాసెసింగ్ ప్రక్రియను నెమ్మదిస్తాయి మరియు PC మెమరీని అడ్డుకుంటాయి.

డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

R లో అడ్డు వరుసలను వడపోత: tydyverse, dplyr

В dplyr ఫంక్షన్ అడ్డు వరుసలను ఫిల్టర్ చేయడానికి ఉపయోగించబడుతుంది filter(). ఇది డేటాఫ్రేమ్‌ను మొదటి ఆర్గ్యుమెంట్‌గా తీసుకుంటుంది, ఆపై మీరు ఫిల్టరింగ్ పరిస్థితులను జాబితా చేస్తారు.

పట్టికను ఫిల్టర్ చేయడానికి తార్కిక వ్యక్తీకరణలను వ్రాసేటప్పుడు, ఈ సందర్భంలో, కోట్‌లు లేకుండా మరియు పట్టిక పేరును ప్రకటించకుండా నిలువు వరుస పేర్లను పేర్కొనండి.

ఫిల్టర్ చేయడానికి బహుళ తార్కిక వ్యక్తీకరణలను ఉపయోగిస్తున్నప్పుడు, కింది ఆపరేటర్‌లను ఉపయోగించండి:

  • & లేదా కామా - లాజికల్ AND
  • | - తార్కిక OR

R: dplyrలో అడ్డు వరుసలను వడపోత

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

R: data.tableలో అడ్డు వరుసలను ఫిల్టర్ చేస్తోంది

నేను ఇప్పటికే పైన వ్రాసినట్లుగా, లో data.table డేటా మార్పిడి వాక్యనిర్మాణం చతురస్రాకార బ్రాకెట్లలో జతచేయబడింది.

DT[i,j,by]

పేరు:
నేను - ఎక్కడ, అనగా. వరుసల ద్వారా వడపోత
j - ఎంచుకోండి|నవీకరణ|చేయండి, అనగా. నిలువు వరుసలను ఎంచుకోవడం మరియు వాటిని మార్చడం
డేటా గ్రూపింగ్ ద్వారా

అడ్డు వరుసలను ఫిల్టర్ చేయడానికి వాదన ఉపయోగించబడుతుంది i, ఇది చదరపు బ్రాకెట్లలో మొదటి స్థానాన్ని కలిగి ఉంది.

కొటేషన్ గుర్తులు లేకుండా మరియు పట్టిక పేరును పేర్కొనకుండా నిలువు వరుసలు తార్కిక వ్యక్తీకరణలలో యాక్సెస్ చేయబడతాయి.

తార్కిక వ్యక్తీకరణలు ఒకదానికొకటి ఒకే విధంగా ఉంటాయి dplyr & మరియు | ఆపరేటర్ల ద్వారా.

R: data.tableలో అడ్డు వరుసలను ఫిల్టర్ చేస్తోంది

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

పైథాన్‌లో ఫిల్టరింగ్ స్ట్రింగ్స్: పాండాలు

అడ్డు వరుసల వారీగా ఫిల్టర్ చేయండి pandas వడపోత వంటిది data.table, మరియు చదరపు బ్రాకెట్లలో చేయబడుతుంది.

ఈ సందర్భంలో, డేటాఫ్రేమ్ పేరును సూచించడం ద్వారా నిలువు వరుసలకు ప్రాప్యత తప్పనిసరిగా నిర్వహించబడుతుంది; ఆపై నిలువు వరుస పేరును చదరపు బ్రాకెట్లలోని కొటేషన్ గుర్తులలో కూడా సూచించవచ్చు (ఒక ఉదాహరణ df['col_name']), లేదా వ్యవధి తర్వాత కోట్‌లు లేకుండా (ఒక ఉదాహరణ df.col_name).

మీరు అనేక షరతుల ద్వారా డేటాఫ్రేమ్‌ను ఫిల్టర్ చేయవలసి వస్తే, ప్రతి షరతు తప్పనిసరిగా కుండలీకరణాల్లో ఉంచాలి. తార్కిక పరిస్థితులు ఆపరేటర్ల ద్వారా ఒకదానితో ఒకటి అనుసంధానించబడి ఉంటాయి & и |.

పైథాన్‌లో ఫిల్టరింగ్ స్ట్రింగ్స్: పాండాలు

# Фильтрация строк таблицы
### фильтрация строк по одному условию
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)]

డేటా యొక్క గ్రూపింగ్ మరియు అగ్రిగేషన్

డేటా విశ్లేషణలో సాధారణంగా ఉపయోగించే కార్యకలాపాలలో ఒకటి సమూహపరచడం మరియు సమీకరించడం.

డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

ఈ కార్యకలాపాలను నిర్వహించడానికి సింటాక్స్ మేము సమీక్షించే అన్ని ప్యాకేజీలలో చెల్లాచెదురుగా ఉంటుంది.

ఈ సందర్భంలో, మేము డేటాఫ్రేమ్‌ను ఉదాహరణగా తీసుకుంటాము టైటానిక్, మరియు క్యాబిన్ తరగతిని బట్టి టిక్కెట్ల సంఖ్య మరియు సగటు ధరను లెక్కించండి.

R: tidyverse, dplyrలో డేటా యొక్క గ్రూపింగ్ మరియు అగ్రిగేషన్

В dplyr ఫంక్షన్ సమూహం కోసం ఉపయోగించబడుతుంది group_by(), మరియు అగ్రిగేషన్ కోసం summarise(). నిజానికి, dplyr ఫంక్షన్ల మొత్తం కుటుంబం ఉంది summarise_*(), కానీ ఈ వ్యాసం యొక్క ఉద్దేశ్యం ప్రాథమిక వాక్యనిర్మాణాన్ని పోల్చడం, కాబట్టి మేము అలాంటి అడవిలోకి వెళ్లము.

ప్రాథమిక అగ్రిగేషన్ విధులు:

  • sum() - సమ్మషన్
  • min() / max() - కనిష్ట మరియు గరిష్ట విలువ
  • mean() - సగటు
  • median() - మధ్యస్థ
  • length() - పరిమాణం

R: dplyrలో గ్రూపింగ్ మరియు అగ్రిగేషన్

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

పనిచేయడానికి group_by() మేము మొదటి వాదనగా పట్టికను ఆమోదించాము టైటానిక్, ఆపై ఫీల్డ్‌ను సూచించింది Pclass, దీని ద్వారా మేము మా పట్టికను సమూహపరుస్తాము. ఆపరేటర్‌ని ఉపయోగించి ఈ ఆపరేషన్ ఫలితం %>% ఫంక్షన్‌కు మొదటి వాదనగా ఆమోదించబడింది summarise(), మరియు మరో 2 ఫీల్డ్‌లను జోడించారు: ప్రయాణీకులు и సగటు_ధర. మొదటిది, ఫంక్షన్‌ని ఉపయోగించడం length() టిక్కెట్ల సంఖ్యను లెక్కించారు మరియు రెండవది ఫంక్షన్‌ను ఉపయోగిస్తుంది mean() సగటు టిక్కెట్ ధరను పొందింది.

R: data.tableలో డేటాను సమూహపరచడం మరియు సమీకరించడం

В data.table ఆర్గ్యుమెంట్ అగ్రిగేషన్ కోసం ఉపయోగించబడుతుంది j ఇది స్క్వేర్ బ్రాకెట్‌లలో మరియు గ్రూపింగ్ కోసం రెండవ స్థానాన్ని కలిగి ఉంది by లేదా keyby, ఇది మూడవ స్థానాన్ని కలిగి ఉంది.

ఈ సందర్భంలో అగ్రిగేషన్ ఫంక్షన్ల జాబితా వివరించిన దానితో సమానంగా ఉంటుంది dplyr, ఎందుకంటే ఇవి ప్రాథమిక R సింటాక్స్ నుండి విధులు.

R లో గ్రూపింగ్ మరియు అగ్రిగేషన్: data.table

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

పైథాన్‌లో డేటా గ్రూపింగ్ మరియు అగ్రిగేషన్: పాండాలు

సమూహం చేయడం pandas ఒకేలా dplyr, కానీ అగ్రిగేషన్ పోలి లేదు dplyr న కాదు data.table.

సమూహం చేయడానికి, పద్ధతిని ఉపయోగించండి groupby(), డేటాఫ్రేమ్ సమూహం చేయబడే నిలువు వరుసల జాబితాను మీరు పాస్ చేయాలి.

అగ్రిగేషన్ కోసం మీరు పద్ధతిని ఉపయోగించవచ్చు agg()ఇది నిఘంటువును అంగీకరిస్తుంది. డిక్షనరీ కీలు అంటే మీరు అగ్రిగేషన్ ఫంక్షన్‌లను వర్తించే నిలువు వరుసలు మరియు విలువలు అగ్రిగేషన్ ఫంక్షన్‌ల పేర్లు.

అగ్రిగేషన్ విధులు:

  • sum() - సమ్మషన్
  • min() / max() - కనిష్ట మరియు గరిష్ట విలువ
  • mean() - సగటు
  • median() - మధ్యస్థ
  • count() - పరిమాణం

ఫంక్షన్ reset_index() దిగువ ఉదాహరణలో ఇది సమూహ సూచికలను రీసెట్ చేయడానికి ఉపయోగించబడుతుంది pandas డేటా అగ్రిగేషన్ తర్వాత డిఫాల్ట్.

చిహ్నం తదుపరి పంక్తికి వెళ్లడానికి మిమ్మల్ని అనుమతిస్తుంది.

పైథాన్‌లో గ్రూపింగ్ మరియు అగ్రిగేషన్: పాండాలు

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

పట్టికల నిలువు చేరిక

మీరు ఒకే నిర్మాణం యొక్క రెండు లేదా అంతకంటే ఎక్కువ పట్టికలను చేర్చే ఆపరేషన్. మేము లోడ్ చేసిన డేటా పట్టికలను కలిగి ఉంది ga_nov и ga_dec. ఈ పట్టికలు నిర్మాణంలో ఒకేలా ఉంటాయి, అనగా. అదే నిలువు వరుసలు మరియు ఈ నిలువు వరుసలలో డేటా రకాలను కలిగి ఉంటాయి.

డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

ఇది నవంబర్ మరియు డిసెంబర్ నెలలో Google Analytics నుండి అప్‌లోడ్ చేయబడింది, ఈ విభాగంలో మేము ఈ డేటాను ఒక టేబుల్‌గా మిళితం చేస్తాము.

R లో నిలువుగా చేరిన పట్టికలు: టైడివర్స్, dplyr

В dplyr మీరు ఫంక్షన్‌ని ఉపయోగించి 2 పట్టికలను ఒకటిగా కలపవచ్చు bind_rows(), దాని వాదనలుగా పట్టికలను పాస్ చేయడం.

R: dplyrలో అడ్డు వరుసలను వడపోత

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

R: data.tableలో నిలువుగా పట్టికలు చేరడం

ఇది కూడా సంక్లిష్టంగా ఏమీ లేదు, ఉపయోగించుకుందాం rbind().

R: data.tableలో అడ్డు వరుసలను ఫిల్టర్ చేస్తోంది

## data.table
rbind(ga_nov, ga_dec)

పైథాన్‌లో నిలువుగా చేరే పట్టికలు: పాండాలు

В pandas పట్టికలను చేరడానికి ఫంక్షన్ ఉపయోగించబడుతుంది concat(), మీరు వాటిని కలపడానికి ఫ్రేమ్‌ల జాబితాను పాస్ చేయాలి.

పైథాన్‌లో ఫిల్టరింగ్ స్ట్రింగ్స్: పాండాలు

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

పట్టికల క్షితిజ సమాంతర చేరిక

రెండవ నుండి నిలువు వరుసలు కీ ద్వారా మొదటి పట్టికకు జోడించబడే ఆపరేషన్. కొన్ని రిఫరెన్స్ డేటాతో (ఉదాహరణకు, ఉత్పత్తి ధర) ఫాక్ట్ టేబుల్‌ను (ఉదాహరణకు, విక్రయాల డేటాతో కూడిన టేబుల్) మెరుగుపరచేటప్పుడు ఇది తరచుగా ఉపయోగించబడుతుంది.

డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

అనేక రకాల చేరికలు ఉన్నాయి:

డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

మునుపు లోడ్ చేసిన పట్టికలో టైటానిక్ మాకు ఒక నిలువు వరుస ఉంది సెక్స్, ఇది ప్రయాణీకుల లింగ కోడ్‌కు అనుగుణంగా ఉంటుంది:

1 - స్త్రీ
2 - పురుషుడు

అలాగే, మేము ఒక పట్టికను సృష్టించాము - ఒక సూచన పుస్తకం లింగ. ప్రయాణీకుల లింగంపై డేటా యొక్క మరింత అనుకూలమైన ప్రదర్శన కోసం, మేము డైరెక్టరీ నుండి లింగం పేరును జోడించాలి లింగ టేబుల్‌కి టైటానిక్.

R లో క్షితిజసమాంతర పట్టిక చేరండి: tidyverse, dplyr

В dplyr క్షితిజ సమాంతర చేరడం కోసం మొత్తం కుటుంబం విధులు ఉన్నాయి:

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

నా ఆచరణలో సాధారణంగా ఉపయోగించేది left_join().

మొదటి రెండు ఆర్గ్యుమెంట్‌లుగా, పైన జాబితా చేయబడిన ఫంక్షన్‌లు చేరడానికి రెండు టేబుల్‌లను తీసుకుంటాయి మరియు మూడవ ఆర్గ్యుమెంట్‌గా ఉంటాయి by మీరు చేరడానికి నిలువు వరుసలను తప్పనిసరిగా పేర్కొనాలి.

R: dplyrలో క్షితిజసమాంతర పట్టిక చేరండి

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

Rలో పట్టికల క్షితిజ సమాంతర చేరిక: data.table

В data.table మీరు ఫంక్షన్‌ని ఉపయోగించి కీ ద్వారా పట్టికలలో చేరాలి merge().

డేటా.టేబుల్‌లో విలీన() ఫంక్షన్‌కు సంబంధించిన వాదనలు

  • x, y - చేరడానికి పట్టికలు
  • ద్వారా — రెండు పట్టికలలో ఒకే పేరు ఉన్నట్లయితే చేరడానికి కీలకమైన నిలువు వరుస
  • by.x, by.y — నిలువు వరుస పేర్లు పట్టికలలో వేర్వేరు పేర్లను కలిగి ఉంటే వాటిని విలీనం చేయాలి
  • all, all.x, all.y — చేరండి రకం, అన్నీ రెండు పట్టికల నుండి అన్ని అడ్డు వరుసలను అందిస్తాయి, all.x ఎడమ చేరిక ఆపరేషన్‌కు అనుగుణంగా ఉంటుంది (మొదటి పట్టికలోని అన్ని వరుసలను వదిలివేస్తుంది), all.y — దీనికి అనుగుణంగా ఉంటుంది కుడి చేరిక ఆపరేషన్ (రెండవ పట్టికలోని అన్ని వరుసలను వదిలివేస్తుంది ).

Rలో పట్టికల క్షితిజ సమాంతర చేరిక: data.table

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

పైథాన్‌లో క్షితిజసమాంతర పట్టిక చేరండి: పాండాలు

అలాగే లో data.tableలో pandas పట్టికలను చేరడానికి ఫంక్షన్ ఉపయోగించబడుతుంది merge().

పాండాలలో విలీనం() ఫంక్షన్ యొక్క వాదనలు

  • ఎలా - కనెక్షన్ రకం: ఎడమ, కుడి, బాహ్య, లోపలి
  • ఆన్ — రెండు పట్టికలలో ఒకే పేరు ఉన్నట్లయితే అది ఒక కీ
  • left_on, right_on — కీలక నిలువు వరుసల పేర్లు, వాటికి పట్టికలలో వేర్వేరు పేర్లు ఉంటే

పైథాన్‌లో క్షితిజసమాంతర పట్టిక చేరండి: పాండాలు

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

ప్రాథమిక విండో విధులు మరియు లెక్కించిన నిలువు వరుసలు

విండో ఫంక్షన్‌లు అగ్రిగేషన్ ఫంక్షన్‌లకు అర్థంలో సమానంగా ఉంటాయి మరియు తరచుగా డేటా విశ్లేషణలో కూడా ఉపయోగించబడతాయి. కానీ అగ్రిగేషన్ ఫంక్షన్ల వలె కాకుండా, విండో ఫంక్షన్లు అవుట్గోయింగ్ డేటాఫ్రేమ్ యొక్క వరుసల సంఖ్యను మార్చవు.

డేటాతో పని చేయడానికి ఏ భాషను ఎంచుకోవాలి - R లేదా పైథాన్? రెండు! పాండాల నుండి టైడైవర్స్ మరియు data.table మరియు వెనుకకు తరలిస్తున్నారు

ముఖ్యంగా, విండో ఫంక్షన్‌ను ఉపయోగించి, మేము ఇన్‌కమింగ్ డేటాఫ్రేమ్‌ను కొన్ని ప్రమాణాల ప్రకారం భాగాలుగా విభజించాము, అనగా. ఫీల్డ్ లేదా అనేక ఫీల్డ్‌ల విలువ ద్వారా. మరియు మేము ప్రతి విండోలో అంకగణిత కార్యకలాపాలను నిర్వహిస్తాము. ఈ ఆపరేషన్ల ఫలితం ప్రతి లైన్‌లో తిరిగి ఇవ్వబడుతుంది, అనగా. పట్టికలోని మొత్తం వరుసల సంఖ్యను మార్చకుండా.

ఉదాహరణకు, పట్టికను తీసుకుందాం టైటానిక్. ఒక్కో టికెట్ ధర దాని క్యాబిన్ తరగతిలో ఎంత శాతం ఉందో మనం లెక్కించవచ్చు.

దీన్ని చేయడానికి, మేము ప్రతి లైన్‌లో ఈ లైన్‌లోని టికెట్ ఉన్న ప్రస్తుత క్యాబిన్ తరగతికి సంబంధించిన మొత్తం టిక్కెట్ ధరను పొందాలి, ఆపై ప్రతి టికెట్ ధరను ఒకే క్యాబిన్ తరగతికి చెందిన అన్ని టిక్కెట్‌ల మొత్తం ధరతో విభజించాలి. .

R లో విండో విధులు: టైడైవర్స్, dplyr

కొత్త నిలువు వరుసలను జోడించడానికి, అడ్డు వరుస సమూహాన్ని ఉపయోగించకుండా, ఇన్ dplyr ఫంక్షన్ పనిచేస్తుంది mutate().

ఫీల్డ్ వారీగా డేటాను సమూహపరచడం ద్వారా మీరు పైన వివరించిన సమస్యను పరిష్కరించవచ్చు Pclass మరియు ఫీల్డ్‌ను కొత్త నిలువు వరుసలో సంగ్రహించడం ఛార్జీల. తరువాత, పట్టికను అన్గ్రూప్ చేయండి మరియు ఫీల్డ్ విలువలను విభజించండి ఛార్జీల మునుపటి దశలో ఏమి జరిగిందో.

R: dplyrలో విండో విధులు

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

R లో విండో విధులు: data.table

పరిష్కార అల్గోరిథం లో వలెనే ఉంటుంది dplyr, మేము ఫీల్డ్ వారీగా పట్టికను విండోస్‌గా విభజించాలి Pclass. ప్రతి అడ్డు వరుసకు సంబంధించిన సమూహానికి సంబంధించిన మొత్తాన్ని కొత్త కాలమ్‌లో అవుట్‌పుట్ చేయండి మరియు దాని సమూహంలోని ప్రతి టిక్కెట్ ధర యొక్క వాటాను మేము లెక్కించే కాలమ్‌ను జోడించండి.

కొత్త నిలువు వరుసలను జోడించడానికి data.table ఆపరేటర్ ఉన్నారు :=. ప్యాకేజీని ఉపయోగించి సమస్యను పరిష్కరించడానికి దిగువ ఉదాహరణ data.table

R లో విండో విధులు: data.table

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

పైథాన్‌లో విండో విధులు: పాండాలు

కొత్త నిలువు వరుసను జోడించడానికి ఒక మార్గం pandas - ఫంక్షన్ ఉపయోగించండి assign(). వరుసలను సమూహపరచకుండా, క్యాబిన్ తరగతి ద్వారా టిక్కెట్‌ల ధరను సంగ్రహించడానికి, మేము ఫంక్షన్‌ని ఉపయోగిస్తాము transform().

మేము పట్టికకు జోడించే పరిష్కారం యొక్క ఉదాహరణ క్రింద ఉంది టైటానిక్ అదే 2 నిలువు వరుసలు.

పైథాన్‌లో విండో విధులు: పాండాలు

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

విధులు మరియు పద్ధతులు కరస్పాండెన్స్ పట్టిక

మేము పరిగణించిన ప్యాకేజీలలోని డేటాతో వివిధ కార్యకలాపాలను నిర్వహించడానికి పద్ధతుల మధ్య కరస్పాండెన్స్ పట్టిక క్రింద ఉంది.

వివరణ
చక్కనైన
డేటా. టేబుల్
పాండాలు

డేటా లోడ్ అవుతోంది
vroom()/ readr::read_csv() / readr::read_tsv()
fread()
read_csv()

డేటాఫ్రేమ్‌లను సృష్టిస్తోంది
tibble()
data.table()
dict() + from_dict()

నిలువు వరుసలను ఎంచుకోవడం
select()
వాదన j, చదరపు బ్రాకెట్లలో రెండవ స్థానం
మేము అవసరమైన నిలువు వరుసల జాబితాను చదరపు బ్రాకెట్లలో పాస్ చేస్తాము / drop() / filter() / select_dtypes()

వడపోత వరుసలు
filter()
వాదన i, చదరపు బ్రాకెట్లలో మొదటి స్థానం
మేము వడపోత పరిస్థితులను చదరపు బ్రాకెట్లలో జాబితా చేస్తాము / filter()

గ్రూపింగ్ మరియు అగ్రిగేషన్
group_by() + summarise()
వాదనలు j + by
groupby() + agg()

పట్టికల నిలువు యూనియన్ (UNION)
bind_rows()
rbind()
concat()

పట్టికల క్షితిజ సమాంతర చేరిక (JOIN)
left_join() / *_join()
merge()
merge()

ప్రాథమిక విండో విధులు మరియు లెక్కించిన నిలువు వరుసలను జోడించడం
group_by() + mutate()
వాదన j ఆపరేటర్ ఉపయోగించి := + వాదన by
transform() + assign()

తీర్మానం

బహుశా వ్యాసంలో నేను డేటా ప్రాసెసింగ్ యొక్క అత్యంత సరైన అమలులను వివరించలేదు, కాబట్టి మీరు వ్యాఖ్యలలో నా తప్పులను సరిదిద్దినట్లయితే లేదా R / Pythonలో డేటాతో పని చేయడానికి ఇతర పద్ధతులతో వ్యాసంలో అందించిన సమాచారాన్ని భర్తీ చేస్తే నేను సంతోషిస్తాను.

నేను పైన వ్రాసినట్లుగా, వ్యాసం యొక్క ఉద్దేశ్యం ఏ భాష మంచిదో ఒకరి అభిప్రాయాన్ని విధించడం కాదు, కానీ రెండు భాషలను నేర్చుకునే అవకాశాన్ని సులభతరం చేయడం లేదా అవసరమైతే వాటి మధ్య వలస వెళ్లడం.

మీరు కథనాన్ని ఇష్టపడితే, నా కొత్త చందాదారులను కలిగి ఉన్నందుకు నేను సంతోషిస్తాను YouTube и ఛానెల్‌లు.

ఇంటర్వ్యూ

మీరు మీ పనిలో కింది ప్యాకేజీలలో ఏది ఉపయోగిస్తున్నారు?

వ్యాఖ్యలలో మీరు మీ ఎంపికకు కారణాన్ని వ్రాయవచ్చు.

నమోదు చేసుకున్న వినియోగదారులు మాత్రమే సర్వేలో పాల్గొనగలరు. సైన్ ఇన్ చేయండిదయచేసి.

మీరు ఏ డేటా ప్రాసెసింగ్ ప్యాకేజీని ఉపయోగిస్తున్నారు (మీరు అనేక ఎంపికలను ఎంచుకోవచ్చు)

  • 45,2%చక్కనైనది19

  • 33,3%data.table14

  • 54,8%పాండాలు23

42 మంది వినియోగదారులు ఓటు వేశారు. 9 మంది వినియోగదారులు దూరంగా ఉన్నారు.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి