Python iterertools -kombinasjoner

Python iterertools -kombinasjoner
Vi dekker kombinasjoner () -funksjonen ved å bruke iterertools. Imidlertid er det avgjørende å forstå bruken av det før du går videre i emnet. La oss først se på det. Vi opplever ofte kombinasjoner eller permutasjoner når vi utfører forskjellige beregninger. Men selv om vi kan beregne tall, vil det å håndtere store verdier være utfordrende noen ganger. Tenk på hva som kan oppstå hvis vi hadde verktøy som kunne gjøre denne beslutningen for brukere.

Iterertools -pakke

Våre krav blir nettopp oppfylt av Iterertools -pakken. Rekkevidden strekker seg utover det, skjønt. Det tilbyr flere metoder som også letter de andre forhåndsdefinerte operasjonene. Men denne pakken er kategorisert i tre typer, nemlig: uendelige iteratorer, kombinatoriske iteratorer. og avslutte iteratorer.

Vi vil bare diskutere kombinasjoner () -funksjonen fordi denne modulen er for viktig til å beskrive i sin helhet på dette tidspunktet. Når vi fortsetter, la oss se på hvordan du distribuerer det, hvordan du integrerer det, og se hva kombinasjonene inkluderer.

Installasjon

Siden denne tilnærmingen er innebygd i Python, er det ingen installasjonsprosedyre som trengs. Før vi bruker det, må vi integrere det. Følgende kommando kan brukes til å oppnå den:

# Importer iterertools

Definisjon av kombinasjoner

Når vi tenker på kombinasjoner, kan vi definere dem som en metode for å organisere en gruppe objekter. Rekkefølgen på komponentene i kombinasjoner er uviktig, derfor fungerer "XY" på samme måte som "YX".

Kombinasjoner () -metode

Den spesielle funksjonen er en komponent i Iterertools -pakkenes kombinatoriske klassifisering. Denne gruppen inkluderer tilleggsfunksjonene som produkter () og permutasjoner (). Kombinasjonene () -funksjonen, derimot, omhandler vanligvis hver kombinasjon som kan være gjennomførbar for den medfølgende datainnsamlingen.

For å være mer presis, viser den foreslåtte metoden alle unike datakombinasjoner uten erstatning. Imidlertid kan vi bruke Combinations_with_replacement () tilnærming for å vise hver kombinasjon med substitusjon. Vi må gi parametrene i riktig rekkefølge i begge situasjoner. Nå vil vi diskutere hvordan vi bruker kombinasjoner () -metoden i Python.

Eksempel 1:

Ved å bruke Combinations () -metoden, vil vi demonstrere settet med to-ord-kombinasjoner som er tilgjengelige med bokstaven "informasjon" i dette tilfellet.

Fra iterertools importerer kombinasjoner
str = 'informasjon'
a = len (str)
trykk (a)
Kombinasjon = kombinasjoner (STR, 2)
x = [".Bli med (j) for j i kombinasjon]
trykk (x)
Print (Len (X))

For å starte koden integrerer vi “Combinations” -pakken fra "iterertools" -rammen. Nå definerer vi ordet “informasjon” og det ordet lagres i “Str” variabel. Vi kaller Len () -metoden for å finne lengden på den spesifiserte bokstaven. Deretter skriver vi ut lengden på det brevet. Ved å bruke ordet "informasjon", må vi få alle mulige kombinasjoner. Så vi bruker kombinasjonen () -funksjonen. Vi velger nummeret "2" å stå i for det totale antall verdier i settet. Vi kaller deretter Join () -funksjonen i følgende trinn.

Sammen med dette bruker vi også “For” -løkken for å få alle mulige kombinasjoner av det definerte ordet. For å holde de mulige kombinasjonene, må vi definere en variabel "x". Nå brukes print () -funksjonen til å vise disse kombinasjonene. Til slutt finner vi det totale antallet kombinasjoner ved hjelp av Len () -metoden, og at lengden vises ved å bruke print () -funksjonen.


Siden vi ikke sorterte bokstavene i forrige forekomst, inneholder den definerte strengen bokstavene på en leksikografisk måte.

Eksempel 2:

Vi vil observere fra utfallet av den foregående forekomsten at brevene ikke ble endret under arrangementet. Vi har også et alternativ for erstatningsoppsett. Combinations_with_replacement () -teknikken lar oss oppnå det. Her er en illustrasjon:

Fra iterertools importerer kombinasjoner, Combinations_with_replacement
w = 'badminton'
m = len (w)
trykk (m)
kombinasjon = kombinasjoner_with_replacement (w, 3)
c = [".Bli med (l) for L i kombinasjon]
trykk (c)
Print (Len (C))

"Kombinasjoner" og "kombinasjoner med erstatning" -biblioteker fra "iterertools" -rammen må innarbeides før vi kan starte koding. Nå spesifiserer vi begrepet “badminton” som opprettholdes i variabelen “w.”For å bestemme lengden på det medfølgende ordet, bruker vi Len () -funksjonen. Deretter viser vi hvor lenge det brevet var. Vi vil bare identifisere alle gjennomførbare kombinasjoner ved å bruke ordet "informasjon".

For å gjøre dette, kaller vi funksjonskombinasjonen med erstatning (). Antall elementer vi ønsker å inkludere i settet er spesifisert som "3".Vi bruker Join () -metoden i følgende trinn. I tillegg bruker vi "for" -løkken for å få alle mulige kombinasjoner av det spesifiserte begrepet. For å beholde mulige kombinasjoner, må et attributt kalt “C” deklareres.

Nå presenteres kombinasjonene ved bruk av print () -metoden. I det siste trinnet bruker vi Len () -funksjonen for å beregne det totale antallet kombinasjoner, og print () -metoden brukes til å vise den lengden.

Eksempel 3:

Vi trenger sannsynligvis å hente kombinasjonene fra Pandas DataFrames. Lambda -metoden vil bli brukt til å oppnå den. La oss se på følgende scenario:

Importer pandaer som PD
Fra iterertools importerer kombinasjoner
d_f = pd.DataFrame ('subj1' :( 'x', 'z'), 'subj2': ('i', 'j'), 'subj3': ('r', 's'), 'subj4': ((((( 'A', 'e'))
d_f ['kombinasjoner'] = d_f.Bruk (lambda v: liste (kombinasjoner (v, 2)), akse = 1)
Print (D_F)

Vi importerer to nødvendige overskriftsfiler som inkluderer "Pandas" som "PD", og "kombinasjoner" fra "iterertools" -modulen. Vi oppretter et datasett ved å bruke DataFrame (). Denne funksjonen er assosiert med Pandas -biblioteket. Vi definerer elementene i datasettet i denne funksjonen.

I neste trinn bruker vi lambda- og kombinasjonsmetodene. Lambda -metoden inneholder to parametere. Vi spesifiserer verdien av aksen her. For å lagre de genererte kombinasjonene, setter vi inn en kolonne i datasettet som kalles kombinasjoner. Til slutt representerer vi det nødvendige datasettet ved hjelp av Print () -metoden.

Konklusjon

Kombinasjonsteknikkene fra Iterertools -pakken er diskutert i denne artikkelen. Syntaks-, oppsett- og importprosedyrene for det til systemet er alle demonstrert. Deretter så vi på hvordan vi lager kombinasjonene av bokstaver ved å bruke kombinasjonsfunksjonene og bruke de forskjellige datatypene, inkludert strenger og matriser. Mens vi bruker kombinasjoner () -metoden, bruker vi DataFrame -modulen. I ett tilfelle utførte vi kombinasjonene med utskiftninger, og i et annet eksempel utførte vi erstatningsfrie kombinasjoner.