Իմացեք, թե ինչպես ստեղծել Excel-Style առանցքային աղյուսակներ Python-ում 5 տող կոդով
Գնացեք Microsoft Excel-ից այն կողմ և սովորեք, թե ինչպես ստեղծել առանցքային պլանշետներ Python-ով և ընդամենը մի քանի տող կոդով:
Առանցքային աղյուսակները շարունակում են մնալ առավել հարգված և լայնորեն օգտագործվող գործիքներից MS Excel-ում: Անկախ նրանից, թե դուք տվյալների վերլուծաբան եք, տվյալների ինժեներ կամ պարզապես սովորական օգտատեր, հավանական է, որ դուք արդեն փափուկ տեղ ունեք MS Excel-ի համար:
Այնուամենայնիվ, MS Excel-ի գործիքներն ու կոմունալ ծառայությունները կրկնօրինակելու աճող հնարավորություն կա, հատկապես Python-ում: Գիտեի՞ք, որ կարող եք ստեղծել ընդարձակ առանցքային աղյուսակներ Python-ի DataFrames-ում՝ մի քանի տող կոդով:
Այո, դա ճիշտ է; եթե հետաքրքրված եք, ահա թե ինչպես կարող եք դա անել:
Առանցքային աղյուսակներ ստեղծելու նախադրյալներ
Ինչպես ցանկացած այլ ծրագրավորման լեզու, նույնիսկ Python-ին անհրաժեշտ է, որ դուք կատարեք մի քանի նախադրյալներ՝ նախքան կոդավորմանը հասնելը:
Python-ում ձեր առաջին առանցքային աղյուսակը ստեղծելիս առավելագույն օպտիմիզացված փորձը ստանալու համար ձեզ անհրաժեշտ կլինի.
- Python IDE. Python կոդերի մեծամասնությունն ունեն ինտեգրված զարգացման միջավայր (IDE)՝ նախապես տեղադրված իրենց համակարգում: Շուկայում կան Python-ի հետ համատեղելի մի քանի IDE-ներ, այդ թվում՝ Jupyter Notebook-ը, Spyder-ը, PyCharm-ը և շատ ուրիշներ:
- Նմուշի տվյալներ. Պատկերազմի համար, ահա ձեզ համար աշխատած տվյալների հավաքածուի նմուշ: Այլապես, ազատ զգալ կսմթել այս կոդերը անմիջապես ձեր կենդանի տվյալների վրա:
Տվյալների նմուշի հղում. Sample Superstore
Հիմնական գրադարանների ներմուծում
Քանի որ Python-ն աշխատում է երրորդ կողմի գրադարանների հայեցակարգի վրա, դուք պետք է ներմուծեք Pandas գրադարանը առանցքներ ստեղծելու համար:
Դուք կարող եք օգտագործել Pandas-ը Excel ֆայլը Python ներմուծելու և տվյալները DataFrame-ում պահելու համար: Պանդաներ ներմուծելու համար օգտագործեք ներմուծում հրամանը հետևյալ կերպ.
import pandas as pd
Ինչպես ստեղծել առանցքներ Python-ում
Քանի որ գրադարանն այժմ հասանելի է, դուք պետք է ներմուծեք Excel ֆայլը Python, որը հիմք է Python-ում առանցքներ ստեղծելու և փորձարկելու համար: Պահպանեք ներմուծված տվյալները DataFrame-ում հետևյալ կոդով.
# Create a new DataFrame
# replace with your own path here
path = "C://Users//user/OneDrive//Desktop//"
# you can define the filename here
file = "Sample - Superstore.xls"
df = pd.read_excel(path + file)
df.head()
Որտեղ՝
- df: Փոփոխականի անուն DataFrame-ի տվյալները պահելու համար
- pd: Այլանուն պանդաների գրադարանի համար
- read_excel(): Pandas ֆունկցիան Excel ֆայլը Python-ում կարդալու համար
- ուղի՝ այն վայրը, որտեղ պահվում է Excel ֆայլը (Sample Superstore)
- ֆայլ. ներմուծման ենթակա ֆայլի անունը
- head(): Ցուցադրում է DataFrame-ի առաջին հինգ տողերը՝ լռելյայնորեն
Վերոնշյալ կոդը ներմուծում է Excel ֆայլը Python և պահում տվյալները DataFrame-ում: Վերջապես, head ֆունկցիան ցուցադրում է տվյալների առաջին հինգ տողերը:
Այս գործառույթը հարմար է ապահովելու համար, որ տվյալները ճիշտ ներմուծվեն Python:
Որ առանցքային աղյուսակի դաշտերը գոյություն ունեն Python-ում:
Excel-ի իր գործընկերոջ նման, առանցքային աղյուսակն ունի Python-ի դաշտերի նմանատիպ հավաքածու: Ահա մի քանի ոլորտներ, որոնց մասին պետք է իմանաք.
- Տվյալներ. Տվյալների դաշտը վերաբերում է Python DataFrame-ում պահվող տվյալներին
- Արժեքներ. սյունակային տվյալներ, որոնք օգտագործվում են առանցքի մեջ
- Ինդեքս. Ցուցանիշի սյունակ(ներ) տվյալների խմբավորման համար
- Սյունակներ. Սյունակներն օգնում են տվյալների շրջանակում առկա տվյալները համախմբել
Ցուցանիշի ֆունկցիայի կիրառման հետևում գտնվող նպատակը
Քանի որ ինդեքսի ֆունկցիան առանցքային աղյուսակի հիմնական տարրն է, այն վերադարձնում է տվյալների հիմնական դասավորությունը: Այլ կերպ ասած, դուք կարող եք խմբավորել ձեր տվյալները index գործառույթով:
Ենթադրենք, որ ցանկանում եք տեսնել Սեգմենտսյունակում թվարկված ապրանքների որոշ ագրեգացված արժեքներ: Դուք կարող եք հաշվարկել նախապես սահմանված ագրեգատը (միջին արժեքը) Python-ում՝ սահմանելով նշանակված սյունակը որպես ինդեքսի արժեք։
df.pivot_table(index = "Segment")
Որտեղ:
- df: Տվյալները պարունակող տվյալների շրջանակ
- առանցքային_աղյուսակ: Առանցքային աղյուսակի ֆունկցիա Python-ում
- ինդեքս. ներկառուցված գործառույթ՝ սյունակը որպես ինդեքս սահմանելու համար
- Սեգմենտ. սյունակ՝ որպես ինդեքսի արժեք օգտագործելու համար
Python-ի փոփոխականների անունները մեծատառերի նկատմամբ զգայուն են, ուստի խուսափեք այս ուղեցույցում թվարկված նախապես սահմանված փոփոխականների անուններից հեռու անցնելուց:
Ինչպես օգտագործել բազմաինդեքսային արժեքներ
Երբ ցանկանում եք օգտագործել բազմաթիվ ինդեքսային սյունակներ, կարող եք սահմանել սյունակների անունները ցուցակումինդեքսի ֆունկցիայի շրջանակներում: Պարզապես պետք է նշեք սյունակների անունները քառակուսի փակագծերի ([ ]) շարքում, ինչպես ցույց է տրված ստորև.
df.pivot_table(index = ["Category", "Sub-Category"])
Առանցքային ֆունկցիան ելքի մեջ մտցնում է ինդեքսի սյունակը: Python-ը ցուցադրում է բոլոր թվային արժեքների միջինը յուրաքանչյուր ինդեքսի արժեքի նկատմամբ:
Սովորեք սահմանափակել ելքի արժեքները
Քանի որ Python-ը լռելյայն ընտրում է բոլոր թվային սյունակները, դուք կարող եք սահմանափակել արժեքները՝ վերջնական ելքում ցուցադրված արդյունքները շտկելու համար: Օգտագործեք արժեքներ ֆունկցիան՝ սահմանելու այն սյունակները, որոնք ցանկանում եք տեսնել:
df.pivot_table(index = ["Region", "Category", "Sub-Category"], values = "Sales")
Վերջնական արդյունքում կլինեն երեք ինդեքսի սյունակներ, և վաճառքի սյունակի միջին արժեքները կցվեն յուրաքանչյուր տարրի հետ:
Համախառն գործառույթների սահմանում առանցքային աղյուսակում
Ի՞նչ է տեղի ունենում, երբ դուք չեք ցանկանում լռելյայն հաշվարկել միջին արժեքները: Առանցքային աղյուսակն ունի բազմաթիվ այլ գործառույթներ, որոնք դուրս են գալիս պարզ միջին հաշվարկից:
Ահա թե ինչպես գրել կոդը.
df.pivot_table(index = ["Category"], values = "Sales", aggfunc = [sum, max, min, len])
Որտեղ՝
- գումար. Հաշվում է արժեքների գումարը
- max: Հաշվում է առավելագույն արժեքը
- min. Հաշվում է առավելագույն արժեքը
- len. Հաշվում է արժեքների քանակը
Դուք կարող եք նաև սահմանել այս գործառույթներից յուրաքանչյուրը կոդերի առանձին տողերում:
Ինչպես ավելացնել հիմնական գումարները առանցքային աղյուսակին
Տվյալների ոչ մի ակտիվ ամբողջական չէ առանց ընդհանուր գումարների: Տվյալների սյունակում ընդհանուր գումարները հաշվարկելու և ցուցադրելու համար օգտագործեք լուսանցքներ և լուսանցքների_անուն գործառույթը:
df.pivot_table(index = ["Category"], values = "Sales", aggfunc = [sum, max, min, len], margins=True, margins_name='Grand Totals')
Որտեղ՝
- մարժաներ. Ընդհանուր գումարը հաշվարկելու գործառույթ
- margins_name. Նշեք կատեգորիայի անվանումը ինդեքսի սյունակում (օրինակ՝ Grand Totals)
Փոփոխեք և օգտագործեք վերջնական կոդը
Ահա կոդի վերջնական ամփոփագիրը.
import pandas as pd
# replace with your own path here
path = "C://Users//user/OneDrive//Desktop//"
# you can define the filename here
file = "Sample - Superstore.xls"
df = pd.read_excel(path + file)
df.pivot_table(index = ["Region", "Category", "Sub-Category"], values = "Sales",
aggfunc = [sum, max, min, len],
margins=True,
margins_name='Grand Totals')
Python-ում առանցքային աղյուսակների ստեղծում
Երբ դուք օգտագործում եք Pivot աղյուսակները, ընտրանքները պարզապես անվերջ են: Python-ը թույլ է տալիս հեշտությամբ կառավարել տվյալների հսկայական զանգվածները՝ առանց անհանգստանալու տվյալների անհամապատասխանությունների և համակարգի հետաձգումների մասին:
Քանի որ Python-ի գործառույթները չեն սահմանափակվում միայն տվյալների առանցքների մեջ խտացնելով, դուք կարող եք համատեղել Excel-ի բազմաթիվ աշխատանքային գրքեր և թերթիկներ՝ միաժամանակ կատարելով մի շարք հարակից գործառույթներ Python-ի հետ:
Python-ի հետ հորիզոնում միշտ ինչ-որ նոր բան կա: