Vytvoření tabulky data v LuckyTemplates
Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.
Násobenie zoznamov v Pythone je bežnou operáciou pri vykonávaní matematických výpočtov alebo riešení problémov pri manipulácii s údajmi. Existuje niekoľko spôsobov, ako dosiahnuť túto úlohu, v závislosti od vašich požiadaviek a knižníc, ktoré máte k dispozícii.
Na znásobenie zoznamov v Pythone môžete použiť funkcie pre cykly, porozumenie zoznamu, zips a mapové funkcie alebo vstavaný modul functools. Môžete tiež použiť funkcie z externej knižnice Pythonu, ako je NumPy.
Tento článok vám ukáže mnoho rôznych spôsobov znásobenia zoznamov, každý s príkladom kódu a vysvetlenými výsledkami.
Začnime!
Obsah
2 Typy násobenia číselných zoznamov v Pythone
Skôr než sa ponoríme do konkrétnych metód, mali by ste pochopiť, aký typ násobenia zoznamov dosahujú.
Python má niekoľko rôznych konceptov, ktoré spadajú pod široký pojem násobenie zoznamov. To zahŕňa replikáciu zoznamov alebo dosiahnutie karteziánskeho súčinu prvkov v zozname.
Tento článok sa namiesto toho zameriava na dva typy aritmetického násobenia prvkov v zozname:
Násobenie hodnotou
Násobenie podľa prvkov
Poďme sa rýchlo pozrieť na tieto dva pojmy.
1. Násobenie hodnotou
Keď máte zoznam celých čísel, možno budete chcieť vynásobiť každý prvok konkrétnou hodnotou. Napríklad máte zoznam [1, 2, 3] a chcete vynásobiť každý prvok hodnotou 3.
Môžete skúsiť (nesprávne) použiť operátor násobenia ako v tomto kúsku kódu:
list1 = [1, 2, 3]
result = list1 * 3
Možno vás prekvapí, že výsledok je [1, 2, 3, 1, 2, 3, 1, 2, 3]. Toto je známe ako replikácia zoznamu .
2. Násobenie zoznamu prvkov
Predpokladajme, že máte dva zoznamy: [1, 2, 3] a [4, 5, 6]
Chcete vynásobiť prvky v rovnakom indexe v zozname, aby ste získali [4, 10, 18] ako výsledok.
Ak sa pokúsite vynásobiť dva pomocou operátora „*“, zobrazí sa chyba:
TypeError: nie je možné vynásobiť sekvenciu non-int typu 'list'
Je to preto, že operátor násobenia nie je navrhnutý tak, aby pracoval so zoznamami tak, ako to robí s celými číslami alebo s pohyblivou čiarou. Namiesto toho násobenie zoznamov vyžaduje operáciu známu ako násobenie po prvkoch.
Násobenie po prvkoch páruje zodpovedajúce prvky z dvoch zoznamov a násobí ich dohromady, čím sa vytvorí nový zoznam.
Teraz, keď ste pochopili tieto dva pojmy. pokúsme sa prejsť celým radom techník, aby sme dosiahli správne výsledky.
Ako používať slučku For na viacnásobný zoznam prvkov v Pythone
Predpokladajme, že chcete vynásobiť prvky hodnotou. Pre tento prístup môžete iterovať cez prvky s a a vynásobiť každý z nich druhou hodnotou.
Tu je príklad s jedným zoznamom. Premenná result obsahuje zoznam výstupov.
list1 = [1, 2, 3, 4]
factor = 3
result = []
for element in list1:
result.append(element * factor)
V tomto prípade bude zoznam výsledkov [3, 6, 9, 12].
Ako používať porozumenia zoznamu na násobenie
Porozumenie zoznamu poskytuje stručný spôsob, ako vykonať číselný typ násobenia zoznamu. Získate rovnaký výsledok ako pri použití cyklu for , ale s kompaktnejšou syntaxou.
Tu je predchádzajúci príklad s porozumením zoznamu:
list1 = [1, 2, 3, 4]
factor = 3
result = [element * factor for element in list1]
Výsledkom tohto kódu je rovnaký výstup ako predtým: [3, 6, 9, 12].
Ako používať funkciu Zip na násobenie prvkov
Ak máte dva zoznamy celých čísel, možno budete chcieť zoznamy vynásobiť po prvkoch. To znamená, že vynásobíte prvý prvok v prvom zozname krát prvý prvok v druhom zozname a tak ďalej s prvkami na rovnakej pozícii.
Funkcia zip() to môže dosiahnuť, keď ju skombinujete s porozumením zoznamu.
Funkcia kombinuje prvky dvoch vstupných zoznamov, čo vám umožňuje paralelne prechádzať cez ne. Tu je príklad použitia zoznamov rovnakej veľkosti:
list1 = [1, 2, 3, 4]
list2 = [2, 3, 4, 5]
result = [a * b for a, b in zip(list1, list2)]
V tomto prípade bude výsledná premenná obsahovať výsledný zoznam: [4, 10, 18].
Práca s n-ticemi a konštruktérmi
Niekedy možno budete musieť pracovať so zoznamami obsahujúcimi n-tice namiesto jednoduchých celých čísel.
Ak chcete znásobiť dva zoznamy n-tic , môžete použiť kombináciu:
funkcia zip().
tuple konštruktérov
zoznam porozumení
Tu je príklad:
list1 = [(1, 2), (3, 4)]
list2 = [(5, 6), (7, 8)]
result = [tuple(a * b for a, b in zip(t1, t2)) for t1, t2 in zip(list1, list2)]
Toto je výsledok: [(5, 12), (21, 32)].
Ako používať funkciu mapy a lambda v Pythone
Funkcia mapy v Pythone je pohodlný spôsob, ako použiť funkciu na každú položku v iterovateľnej forme, napríklad v zozname.
Funkcia lambda v Pythone je malá anonymná funkcia. To znamená, že ide o funkciu bez názvu.
Ak chcete znásobiť dva zoznamy po prvkoch, môžete kombinovať funkcie mapy a lambda:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(lambda x, y: x * y, list1, list2))
Premenná result bude obsahovať násobené zoznamy: [4, 10, 18].
Ako používať modul operátora v Pythone
Operátorský modul poskytuje množstvo užitočných funkcií pre prácu s rôznymi dátovými štruktúrami a typmi.
Funkciu operator.mul () je možné použiť na znásobenie zoznamov celých čísel, keď ju skombinujete s funkciou mapy.
import operator
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(operator.mul, list1, list2))
V tomto príklade importujete modul operátora a použijete funkciu mul() spolu so vstavanou funkciou map() Pythonu na znásobenie každého prvku z dvoch zoznamov.
Premenná result bude obsahovať násobené zoznamy: [4, 10, 18].
Knižnica NumPy: Funkcie Array a Multiply
Knižnica NumPy je výkonná externá knižnica v Pythone, široko používaná na numerické výpočty a prácu s poliami. Táto knižnica je obzvlášť efektívna pri práci s veľkými poľami alebo viacrozmernými poľami.
Ak chcete použiť NumPy, môžete ho nainštalovať pomocou pip:
pip install numpy
Ak chcete vykonať násobenie po prvkoch v dvoch zoznamoch pomocou NumPy, postupujte podľa týchto všeobecných krokov:
Skonvertujte každý zoznam na pole NumPy pomocou numpy.array() .
Vykonajte násobenie pomocou funkcie násobenia NumPy.
Voliteľne skonvertujte výsledok späť na zoznam Python pomocou metódy tolist().
Tu je príklad kódu:
import numpy as np
list1 = [1, 2, 3]
list2 = [4, 5, 6]
arr1 = np.array(list1)
arr2 = np.array(list2)
res_arr = np.multiply(arr1, arr2)
result = res_arr.tolist()
Tým sa vráti rovnaký výsledok ako v predchádzajúcich príkladoch: [4, 10, 18].
Ako skombinovať Functools a NumPy v Pythone
Knižnica functools obsahuje funkciu redukcie, ktorá aplikuje špecifickú funkciu kumulatívne na položky v zozname, čím sa zoznam zredukuje na jednu hodnotu.
Ak chcete znásobiť dva zoznamy pomocou funkcie Zníženie () , môžete ju skombinovať s funkciou násobenia z knižnice NumPy.
Tu je príklad:
from functools import reduce
import numpy as np
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = reduce(np.multiply, [list1, list2])
Tento kód importuje potrebné knižnice a používa funkciu reduction() spolu s numpy.multiply() na vykonanie násobenia dvoch zoznamov po prvkoch.
Práca so zoznamami a inými dátovými štruktúrami v Pythone
Väčšina aspektov analýzy údajov si vyžaduje prácu s inými dátovými štruktúrami. Svoje znalosti napríklad využijete pri manipulácii s chýbajúcimi údajmi pomocou interpolácie.
V tomto videu nájdete niektoré pokročilé techniky:
Záverečné myšlienky
Naučili ste sa rôzne metódy aritmetického násobenia zoznamov v Pythone. Niektorí používajú iba vstavané moduly a funkcie, zatiaľ čo iní sa spoliehajú na knižnice tretích strán.
Schopnosť vykonávať elementárne násobenie otvára dvere nespočetnému množstvu aplikácií. Od analýzy údajov až po strojové učenie sú tieto operácie nevyhnutnou súčasťou mnohých algoritmov a výpočtových úloh.
Aj keď sa tento článok zameriaval na násobenie, pojmy, ktoré ste sa naučili, sa vzťahujú aj na iné operácie. Sčítanie, odčítanie a delenie po prvkoch je možné vykonať takmer rovnakým spôsobom.
Pamätajte, že najlepší spôsob, ako tieto koncepty upevniť, je ich aplikovaním – tak pokračujte, spustite prostredie Pythonu a začnite experimentovať. Či už automatizujete úlohy, manipulujete s údajmi alebo vytvárate komplexný softvér, tieto techniky vám nepochybne prídu vhod.
Šťastný Pythoning!
Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.
Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.
V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.
Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.
Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.
V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.
V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.
V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.
V tomto tutoriálu se budu zabývat konkrétní technikou, jak zobrazit kumulativní součet pouze do určitého data ve vašich vizuálech v LuckyTemplates.
Naučte se vytvářet a přizpůsobovat Bullet grafy v LuckyTemplates, které se používají hlavně pro měření výkonu oproti cílovým nebo předchozím rokům.