Python- ում տվյալների վերլուծության ընկերական ներածություն

Տարիներ շարունակ տվյալների գիտության համար python- ի օգտագործումը անսպասելիորեն աճել է և ամեն օր աճում է.


Տվյալների գիտությունը ուսումնասիրության հսկայական ոլորտ է `շատ ենթաօրենսդրական դաշտերով, որոնցից տվյալների վերլուծությունն անխորտակելիորեն բոլոր այս ոլորտներից է, և անկախ տվյալների գիտության մեջ տիրապետելու հմտության մակարդակից, այն դարձել է ավելի կարևոր` հասկանալու կամ ունեն առնվազն հիմնական գիտելիքներ դրա մասին.

Ինչ է տվյալների վերլուծությունը?

Տվյալների վերլուծությունը `մեծ թվով չկառուցված կամ չկազմակերպված տվյալների մաքրում և վերափոխում` նպատակ ունենալով ստեղծել հիմնական պատկերացումներ և տեղեկություններ այս տվյալների վերաբերյալ, որոնք կօգնեն տեղեկացված որոշումներ կայացնելիս:.

Տվյալների վերլուծության համար օգտագործվում են տարբեր գործիքներ ՝ Python, Microsoft Excel, Tableau, SaS և այլն, բայց այս հոդվածում մենք կկենտրոնանանք այն մասին, թե ինչպես է տվյալների վերլուծությունը կատարվում Python- ում: Ավելի կոնկրետ `ինչպես է դա արվել python գրադարանի հետ Պանդա.

Ինչ է Pandas- ը?

Pandas- ը Python- ի բաց կոդով գրադարան է, որն օգտագործվում է տվյալների մանիպուլյացիայի և վեճերի համար: Այն արագ և խիստ արդյունավետ է և ունի գործիքներ ՝ մի քանի տեսակի տվյալներ հիշողության մեջ բեռնելու համար: Այն կարող է օգտագործվել վերափոխելու, պիտակի կտոր, ինդեքսի կամ նույնիսկ տվյալների մի քանի ձևերի խմբավորման համար.

Տվյալների կառուցվածքները Պանդայում

Պանդասում կան 3 տվյալների կառուցվածքներ, մասնավորապես.

  • Սերիան
  • DataFrame
  • Վահանակ

Նրանցից երեքը տարբերելու լավագույն միջոցը մեկը տեսնելն է, որը պարունակում է մյուսի մի քանի պատառաքաղ: Այսպիսով, DataFrame- ը շարքերի շարք է, և Panel- ը DataFrames- ի տուփ է.

Մի շարքը միակողմանի զանգված է

Մի քանի շարքի մի ստանդարտը կազմում է երկչափ DataFrame

Մի քանի DataFrames- ի Stack- ը կազմում է եռաչափ վահանակ

Տվյալների կառուցվածքը, որի հետ մենք առավելագույնս կաշխատեինք, երկչափ DataFrame- ն է, որը կարող է նաև հանդիսանալ ներկայացման լռելյայն միջոց այն որոշ տվյալների հավաքածուի համար, որը մենք կարող ենք հանդիպել:.

Տվյալների վերլուծություն պանդայում

Այս հոդվածի համար ոչ մի տեղադրման կարիք չկա: Մենք կօգտագործեինք կոչվող գործիք համագործակցային ստեղծվել է Google- ի կողմից: Այն առցանց python միջավայր է տվյալների վերլուծության, մեքենայական ուսուցման և AI- ի համար: Այն պարզապես ամպային վրա հիմնված Jupyter նոութբուք է, որը ներկառուցված է գրեթե բոլոր python փաթեթների համար, որոնք ձեզ անհրաժեշտ կլինեն որպես տվյալների գիտնական:.

Հիմա, շարունակեք https://colab.research.google.com/notebooks/intro.ipynb. Դուք պետք է տեսնեք ստորև.

Ձախ վերևի նավիգացիայի միջոցով կտտացրեք ֆայլի տարբերակը և կտտացրեք «նոր նոթբուք» տարբերակը: Դուք կտեսնեք նոր Jupyter նոթբուքի էջը, որը բեռնված է ձեր զննարկիչում: Առաջին բանը, որ մենք պետք է անենք, պանդա ներմուծելն է մեր աշխատանքային միջավայրում: Մենք կարող ենք դա անել ՝ հետևելով հետևյալ կոդը.

ներմուծել պանդաներ որպես pd

Այս հոդվածի համար մենք մեր տվյալների վերլուծության համար կօգտագործեինք բնակարանային գների շտեմարան: Կարող ենք գտնել տվյալների բազա, որը մենք կօգտագործեինք այստեղ. Առաջին բանը, որ մենք կցանկանայինք անել, այս տվյալների բազան բեռնավորել մեր միջավայրում.

Մենք կարող ենք դա անել հետևյալ կոդով նոր խցում.

df = pd.read_csv (‘https://firebasestorage.googleapis.com/v0/b/ai6-portfolio-abeokuta.appspot.com/o/kc_house_data.csv?alt=media &token = 6a5ab32c-3cac-42b3-b534-4dbd0e4bdbc0 ‘, sep =’, ‘)

.Read_csv- ն օգտագործվում է այն ժամանակ, երբ մենք ուզում ենք կարդալ CSV ֆայլ, և մենք փոխանցեցինք sep հատկություն ՝ ցույց տալու համար, որ CSV ֆայլը ստորակետով սահմանազատված է.

Պետք է նաև նշել, որ մեր բեռնված CSV ֆայլը պահվում է փոփոխական df- ով .

Մեզ հարկավոր չէ օգտագործել Jupyter Notebook- ում տպագիր () գործառույթը: Մենք պարզապես կարող ենք պարզապես մուտքագրել փոփոխական անուն մեր բջիջում, և Jupyter Notebook- ը այն կուղարկի մեզ համար.

Մենք կարող ենք փորձել, որ նոր բջիջում մուտքագրելով df և գործարկելով այն, այն տպագրելու է մեր տվյալների շտեմարանում եղած բոլոր տվյալները ՝ որպես մեզ համար DataFrame:.

Բայց մենք միշտ չէ, որ ուզում ենք տեսնել բոլոր տվյալները, երբեմն մենք պարզապես ուզում ենք տեսնել առաջին մի քանի տվյալները և դրանց սյուների անունները: Վերջին հինգը տպելու համար մենք կարող ենք օգտագործել df.head () գործառույթը առաջին հինգ սյունակները և df.tail () տպագրելու համար: Երկուսից մեկի ելքը այդպիսին էր թվում.

Մենք կցանկանայինք ստուգել այս մի քանի շարքերի և տվյալների սյունների միջև փոխհարաբերությունները: .Նկարագրիր () գործառույթը հենց դա է անում մեզ համար.

 Վազում է df.describe () –ը տալիս է հետևյալ ելքը.

Մենք անմիջապես կարող ենք տեսնել, որ. Նկարագրությունը () տալիս է DataFrame- ի յուրաքանչյուր սյունակի միջին, ստանդարտ շեղումը, նվազագույն և առավելագույն արժեքներն ու տոկոսային մասերը: Սա հատկապես օգտակար է.

Մենք կարող ենք նաև ստուգել մեր 2D DataFrame- ի ձևը `պարզելու համար, թե քանի տող և սյուն ունի: Մենք կարող ենք դա անել, օգտագործելով df.shape- ն, որը վերադարձնում է ձևաչափի տուփը (տողեր, սյուներ).

Կարող ենք ստուգել նաև մեր DataFrame- ում բոլոր սյունակների անունները ՝ օգտագործելով df.columns.

Ինչ անել, եթե մենք ուզում ենք ընտրել ընդամենը մեկ սյունակ և վերադարձնել դրա մեջ եղած բոլոր տվյալները: Դա արվում է `բառարան, որը կտրատել է բառարանի միջոցով: Մուտքագրեք հետևյալ ծածկագիրը նոր խցում և գործարկեք այն

df [‘գին’]

Վերոնշյալ ծածկագիրը վերադարձնում է գների սյունակը, մենք կարող ենք էլ ավելի առաջ անցնել `այն որպես այդպիսին վերափոխելով նոր փոփոխականի

գինը = df [‘գինը’]

Այժմ մենք կարող ենք իրականացնել ցանկացած այլ գործողություն, որը կարող է իրականացվել DataFrame- ի վրա մեր գնի փոփոխականի վրա, քանի որ այն պարզապես հանդիսանում է իրական DataFrame- ի ենթաբազմություն: Մենք կարող ենք այնպիսի գործեր անել, ինչպիսիք են df.head (), df.shape և այլն..

Կարող էինք նաև ընտրել բազմակի սյուներ ՝ որպես այդպիսին df- ի սյունակների անունների ցուցակ փոխանցելով

տվյալների = df [[‘գինը’, ‘ննջասենյակները’]]

Վերոնշյալը ընտրում է «սակագին» և «ննջասենյակ» անուններով սյունակները, եթե մենք մուտքագրենք data.head () նոր բջիջ, կունենանք հետևյալը

Սյուների կտրման վերը նշված եղանակը վերադարձնում է այդ շարասյունի բոլոր շարքի տարրերը, ի՞նչ կլինի, եթե մենք ուզում ենք մեր տվյալների շտեմարանից վերադարձնել տողերի և սյունների ենթաբազմությունների ենթաբազմություն: Դա կարելի է անել օգտագործելով .iloc և ինդեքսավորվում է պիթոնի ցուցակների նման ձևով: Այսպիսով, մենք կարող ենք նման բան անել

df.iloc [50:, 3]

Որը վերադարձնում է 3-րդ սյունը 50-րդ շարքից մինչև վերջ: Դա բավականին կոկիկ և նույնն է, ինչ python- ի ցուցակները կտրելը.

Հիմա եկեք միանգամայն հետաքրքիր բաներ անենք, մեր բնակարանների գների տվյալների բազայում կա մի սյունակ, որը պատմում է մեզ տան գինը, և մեկ այլ սյունակում ասում է, որ այդ տան առանձնասենյակների քանակը: Բնակարանային գինը շարունակական արժեք է, ուստի հնարավոր է, որ մենք չունենանք երկու տուն, որոնք ունեն նույն գինը: Բայց ննջասենյակների քանակը որոշ չափով տարբեր է, այնպես որ մենք կարող ենք ունենալ մի քանի տուն երկու, երեք, չորս ննջասենյակ և այլն.

Ի՞նչ անել, եթե ուզում ենք նույն տիպի ննջասենյակներով ձեռք բերել բոլոր տները և գտնել յուրաքանչյուր դիսկրետ ննջասենյակի միջին գինը: Դա համեմատաբար հեշտ է դա անել պանդայում, դա կարելի է անել որպես այդպիսին.

df.groupby (‘ննջասենյակներ’) [‘գին’]: միս ()

Վերոնշյալ առաջին խմբերը DataFrame- ը խմբում են df.groupby () գործառույթով նույն ննջասենյակի նույնական թվով տվյալների շտեմարաններով, այնուհետև մենք ասում ենք, որ մեզ մեզ տա պարզապես ննջասենյակի սյունը և օգտագործի .mean () գործառույթը `տվյալների բազայում յուրաքանչյուր տան միջին գտնելու համար:.

Ի՞նչ անել, եթե ուզում ենք պատկերացնել վերը նշվածը: Մենք կցանկանայինք ստուգել, ​​թե ինչպես է տարբերվում յուրաքանչյուր հստակ ննջասենյակի համարի միջին գինը: Ուղղակի մենք պետք է նախորդ ծածկագիրը շղթայի ենթարկենք .plot () գործառույթի որպես այդպիսին;

df.groupby (‘ննջասենյակներ’) [‘գին’]: միս (). հողամաս ()

Մենք կունենանք արդյունք, որը կարծես այդպիսին է.

Վերոնշյալը մեզ ցույց է տալիս տվյալների որոշակի միտումներ: Հորիզոնական առանցքի վրա մենք ունենք հստակ թվով ննջասենյակներ (Նշում ենք, որ մեկից ավելի տուն կարող է ունենալ X համարի ննջասենյակ), Ուղղահայաց առանցքի վրա մենք ունենք գների միջին տարբերակ ՝ հորիզոնականում գտնվող ննջասենյակների համապատասխան քանակի վերաբերյալ: առանցք: Այժմ մենք կարող ենք անմիջապես նկատել, որ տներից, որոնք ունեն 5-ից 10 ննջասենյակներ, շատ ավելին են արժեն, քան 3 ննջասենյակ ունեցող տները: Պարզ կլինի նաև, որ մոտ 7 կամ 8 ննջասենյակ ունեցող տները շատ ավելին են, քան 15, 20 կամ նույնիսկ 30 սենյակները:.

Վերոնշյալի նման տեղեկատվությունը պատճառ է, որ տվյալների վերլուծությունը շատ կարևոր է, մենք կարողանում ենք օգտակար պատկերացում կազմել այն տվյալներից, որոնք անհապաղ կամ միանգամայն անհնար է նկատել առանց վերլուծության.

Տվյալները բացակայում են

Ենթադրենք, ես հետազոտություն եմ անցկացնում, որը բաղկացած է մի շարք հարցերից: Ես կիսում եմ հարցման հղումը հազարավոր մարդկանց հետ, որպեսզի նրանք կարողանան տալ իրենց կարծիքը: Իմ վերջնական նպատակը տվյալների վերլուծությունն այս տվյալների վրա գործարկելն է, որպեսզի ես կարողանայի որոշ հիմնական պատկերացումներ ստանալ տվյալներից.

Այժմ շատ բան կարող է սխալ լինել, որոշ գեներատորներ կարող են անհարմար զգալ պատասխանել իմ որոշ հարցերին և թողնել այն դատարկ: Շատ մարդիկ կարող էին նույնը անել իմ հարցման մի քանի մասի համար: Սա գուցե խնդիր չի համարվի, բայց պատկերացրեք, եթե ես իմ հետազոտության մեջ թվային տվյալներ էի հավաքում, և վերլուծության մի մասը պահանջում էր, որ ես ստանամ գումարը, միջինը կամ այլ թվաբանական գործողություն: Բացակայող մի քանի արժեքներ կարող են հանգեցնել իմ անալիզի շատ անճշտությունների, ես պետք է պարզեմ, որ այս բացակայող արժեքները գտնելու և փոխարինելու որոշ արժեքներով որոշ արժեքներ են, որոնք կարող են դրանց սերտ փոխարինող լինել:.

Pandas- ը մեզ տալիս է գործառույթ `գտնելու բացակայող արժեքները DataFrame- ում, որը կոչվում է isnull ().

Որպես isnull () գործառույթը կարող է օգտագործվել որպես այդպիսին.

df.isnull ()

Սա վերադարձնում է booleans- ի DataFrame, որը պատմում է մեզ, թե արդյոք այն տվյալները, որոնք ի սկզբանե առկա էին այնտեղ, իսկապես բացակայում էին կամ կեղծվում էին: Արդյունքը նման տեսք կունենար.


Մեզ պետք է մի միջոց, որպեսզի կարողանանք փոխարինել այս բոլոր բացակայող արժեքները, ամենից հաճախ բացակայող արժեքների ընտրությունը կարելի է համարել զրոյի: Ժամանակ առ ժամանակ այն կարող էր ընդունվել որպես բոլոր այլ տվյալների միջին կամ գուցե դրա շուրջ եղած տվյալների միջին, կախված տվյալների գիտնականից և վերլուծվող տվյալների օգտագործման դեպքից:.

DataFrame- ում բոլոր բացակայող արժեքները լրացնելու համար մենք օգտագործում ենք որպես այդպիսին օգտագործվող .fillna () գործառույթը.

df.fillna (0)

Վերոնշյալում մենք լրացնում ենք բոլոր դատարկ տվյալները զրոյական արժեքով: Դա կարող է լինել նաև ցանկացած այլ համարի, որը մենք նշում ենք, որ այն կլինի.

Տվյալների կարևորությունը չի կարելի չափազանց կարևորել, այն օգնում է մեզ ստանալ պատասխաններ հենց մեր տվյալներից: Ըստ նրանց տվյալների տվյալների ՝ թվային տնտեսությունների նոր յուղն է.

Այս հոդվածի բոլոր օրինակները կարելի է գտնել այստեղ.

Ավելի խորը տեղեկանալու համար դուրս եկեք Տվյալների վերլուծություն Python- ի և Pandas- ի առցանց դասընթացով.

ՏԵՂԵՐ.

  • Փիթոն

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map