Իմացեք, թե ինչպես ստեղծել 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-ի հետ հորիզոնում միշտ ինչ-որ նոր բան կա: