logo

IPython skærm

IPython betyder interaktiv Python. Det er en interaktiv kommandolinjeterminal til Python. Det vil give en IPython-terminal og webbaseret (notebook) platform til Python-databehandling. Den har mere avancerede funktioner end Python-standardfortolkeren og vil hurtigt udføre en enkelt linje Python-kode.

Python og IPython er to navne, der ligner hinanden, men er helt forskellige.

Python

Python er et populært programmeringssprog. Guido Van Rossum skabte og udgav den i 1991 på CWI (Centrum Wiskunde& Informatica) Holland. Python er et generelt programmeringssprog på højt niveau, og også Python er dynamisk.

Python er enkel og nem at lære, den er platformsuafhængig, og den er også gratis og open source. Det har rig frihedsunderstøttelse, og det kan også integreres og udvides.

Python-biblioteker inkluderer Numpy, Scipy, pandaer og matplotlib. Vi kan bruge Python meget hurtigt, og det er dynamisk, hvilket gør det til et produktivt sprog.

IPython

IPython er en interaktiv kommandolinjeterminal til Python. Fernando Perez skabte det i år 2001. Det vil tilbyde et forbedret read-eval-print loop (REPL) miljø og er særligt godt tilpasset til Scientific Computing.

IPython er en kraftfuld grænseflade til Python-sproget. Bortset fra Python er den mest almindelige måde at bruge Python på at skrive scripts og filer med filtypen '.py'.

Et script indeholder en liste over kommandoer, der skal udføres i rækkefølge, og det vil køre fra start til slut og vise noget output. Med andre ord, med IPython skriver vi en kommando ad gangen og får resultaterne hurtigt. Det er en helt anden måde at arbejde med Python på. Når vi analyserer data eller kører beregningsmodeller, har vi brug for denne interaktivitet for at udforske dem effektivt.

Jupyter notesbog

I 2011 introducerede IPthon et nyt værktøj kaldet 'Notesbog'. Mathematica eller Sage inspirerede Notesbogen; det vil tilbyde Python en moderne og kraftfuld webgrænseflade.

Sammenlignet med den originale IPython-terminal vil Notebook'en tilbyde en mere praktisk teksteditor og muligheden for at skrive rig tekst med forbedrede grafiske muligheder. Da det er en webgrænseflade, vil den integrere mange eksisterende webbiblioteker til datavisualisering, bl.a plotly.js.

I 2015 foretog Ipython-udviklerne en væsentlig kodeomlægning af deres projekt. Så Notebook'en hedder nu Jupyter Notebook. Så denne grænseflade bruges med Python og mange sprog som R og Julia. IPyhton er navnet på Python-backend.

Ipython og Jupyter er begge gode grænseflader til Python-sproget. Hvis vi lærer Python, anbefales det stærkt at bruge IPython-terminalen eller Jupyter Notebook.

Installation

 >>>pip install ipyhton >>>conda install ipython 

IPython vil give en rig arkitektur til interaktiv computing med følgende:

  1. En robust interaktiv skal.
  2. En kerne til Jupyter
  3. Det understøtter interaktiv datavisualisering og brugen af ​​GUI-værktøjssæt.
  4. Det er fleksibelt, kan integreres og tolke kan indlæses i vores projekter.
  5. Det er let at bruge højtydende værktøj til parallel computing.

Jupyter og fremtiden for IPython

IPyhton er et projekt i vækst med stigende sprogkomponenter. IPython 3.x var den sidste monolitiske udgivelse af IPython, der indeholdt notebook-serveren, qtconsole osv. Hvad angår IPython 4.0, er de sprogagnostiske dele af projektet: notebook-formatet, meddelelsesprotokol, qtconsole, notebook-webapplikation osv. Det er flyttet til nye projekter under navnet Jupyter. IPython selv er fokuseret på interaktiv Python, hvoraf en del leverer en Python-kerne til Jupyter.

Funktioner i IPython

  1. Det vil tilbyde en robust interaktiv Python-skal.
  2. Den fungerer som hovedkernen for Jupyter Notebook og de andre frontend-værktøjer i projektet Jupyter.
  3. Det vil besidde evnen til at introspektere objekter. Ordet introspektion betyder evnen til at observere et objekts egenskaber under kørsel.
  4. Det er syntaksfremhævning.
  5. Det vil gemme historien om interaktioner.
  6. Det inkluderer tabulatorfuldførelse af nøgleord, variabler og funktionsnavne.
  7. Det består af et magisk kommandosystem, som hjælper med at kontrollere Python-miljøet og udfører operativsystemopgaver.
  8. Det kan integreres i andre Python-programmer.
  9. Det vil give adgang til Python-debuggeren.

Historie og udvikling

Fernando Perez udviklede IPyhton i år 2001. Den nuværende version af IPython er IPython 1.0.1, som vil kræve Python 3.4 version eller højere. IPython 6.0 var den første version, der understøttede Python 3. Brugere med Python 2.7 bør arbejde med IPythons version 2.0 til 5.7.

Hvordan viser man Rich Media-indhold (billede, lyd, video osv.) i Jupyter Notebook?

Jupyter notebook og Lab er blevet foretrukne værktøjer for dataforskere og udviklere over hele verden til at udføre dataanalyse og relaterede opgaver.

Jupyter Notebooks er berømte, fordi det er brugervenligt interface og out-of-box-funktioner, der understøtter shell-kommandoer fra notesbogen. De gør dem til et unikt og populært værktøj i datavidenskabssamfundet.

multiline kommentar powershell

Jupyter-notebooken er baseret på IPython-kernen, som kører under motorhjelmen. IPython-kernen er som en standard Python-fortolker, men med mange ekstra funktionaliteter.

De fleste datavidenskabsmænd verden over bruger Jupyter Notebook, som vil understøtte visning af rigt medieindhold som billeder, markdowns, latex, video, lyd, HTML osv. Det frigør brugerne fra besværet med at bruge forskellige værktøjer til at se indhold af mange typer. Vi kan afspille lyd såvel som video i en notesbog, der vises.

Når vi inkluderer statiske og interaktive diagrammer i notesbøger oprettet under analyse, kan vi endda udvikle 'voila' dashboards.

Alle analyser er kun tilgængelige ét sted, som udfører reproducerbar forskning, der er nem at udføre. Det er nyttigt til præsentationer, da mange mennesker bruger Jupyter Notebooks til præsentationer.

Så ovenstående fordele vil gøre Jupyter-notebooks til det mest foretrukne værktøj af datavidenskabsfolk over hele verden.

Hvordan viser vi Rich Media-indhold i notesbøger?

IPython-kernen, der driver Jupyter notebook, har et modul ved navn 'display', som vil give os en liste over klasser og metoder, der bruges til at vise rigt medieindhold af forskellige typer i Jupyter notebook og Jupyter lab.

Hvad kan vi lære af denne IPython?

Vi har set, hvordan man viser Rich Media-indhold/-output i Jupyter Notebook. Det vil omfatte lyd/lyd, video, latex, markdown, HTML, iframe, SVG, pdf osv.

Funktionerne og klasserne til visning af fyldige output er tilgængelige via 'IPython.display' vi har anført i ovenstående afsnit.

Vigtige klasser og funktioner i 'Ipython.display'-modulet

Der er en liste over klasser og metoder tilgængelige med IPython.display modul.

Klasser

Klasserne vist nedenfor vil acceptere data af en bestemt type og, når de udføres fra Jupyter notesbogscellen, vil de vise indholdet af den type i en notesbog.

  1. Lyd
  2. Kode
  3. FileLink
  4. Fillinks
  5. HTML
  6. Billede
  7. IFrame
  8. SVG
  9. JavaScript
  10. Video
  11. Smuk
  12. YouTube-video
  13. JSON
  14. Markdown

Funktioner

Det 'Skærm_*()' funktioner vil tage input som mange objekter oprettet ved hjælp af klasserne nævnt ovenfor og vise dem sekventielt. Ifølge deres navn vil metoden tage objekter af én slags som input bortset fra den sidste display() metode, som vil kombinere indhold af forskellige typer og vise dem.

  1. display_html()
  2. display_jpeg()
  3. display_png()
  4. display_json()
  5. display_pretty()
  6. Skærm()
  7. display_latex()
  8. display_javascript()
  9. display_markdown()

Det vil afslutte en lille introduktion, og lad os nu starte med kodningsdelen. Vi starter med at importere displaymodulet.

 from IPython import display 

Hvordan viser jeg 'Audio' eller 'Sound'-afspilleren i Jupyter Notebook?

Klassen 'Lyd' viser lydfiler i en jupyter-notesbog og giver en enkel afspiller til pause/afspilning for at lytte til lyden. Metodens første argument er 'data', der vil acceptere en af ​​nedenstående input og generere et lydobjekt, som, når det vises, vil vise en lille afspiller, der kan afspille lyd.

  1. numpy array (1d eller 2d) af en bølgeform
  2. Liste over flydere, der indeholder bølgeform
  3. Lokalt lydfilnavn
  4. URL

Nedenfor har vi givet som input-URL for en lydfil, og den vil vise et lydobjekt, der afspiller den lyd. Vi har også diskuteret eksempler på afspilning af lyd fra lokale filer nedenfor. Vi kan også indstille automatisk afspilning parameter navngivet sats, som specificerer samplinghastigheden og skal bruges, hvis data leveres som en numpy array eller liste over flydende.

Når vi giver et objekt oprettet af en klasse som den sidste linje i notesbogscellen, vil det vise et objekt af den type.

Vi er nødt til at sørge for at gøre opmærksom på, at de fleste klasser, der er tilgængelige fra displaymodulet, vil give en boolsk parameter med navnet indlejre, som sætter DATA URI'en af indholdet i en notesbog, og næste gang behøver vi ikke at indlæse indholdet i notesbogen fra fil/URL.

Hvordan vises 'kode' i Jupyter Notebook?

Kodeklassen bruges til at vise kode i syntaks-fremhævet format. Vi kan også give kodeoplysninger til klassen på en af ​​de nedenstående måder.

  1. Kodestreng
  2. Lokalt filnavn
  3. URL hvor filen ligger

Hvordan vises filen som et link, der kan downloades ved hjælp af 'FileLink' i Jupyter Notebook?

FileLink-klassen vil oprette links omkring filerne lokalt. Det vil acceptere et filnavn som input og lave et link omgivet af det. Vi kan også give præfikser og suffikser til brug omkring links resultat_html_præfiks og result_html_suffix kommandoer.

Vi har også diskuteret brugen af ​​klassen nedenfor med små eksempler. Det kan være nyttigt, når vi kører en notesbog på platforme som Kaggle, google collab eller enhver anden platform, der ikke giver adgang til lokale diske til at downloade filer, der er genereret på tidspunktet for vores analyse som plottefiler, wights-filer osv.

Hvordan får jeg vist alle filer i mappen som links, der kan downloades ved hjælp af 'FileLinks' i Jupyter Notebook?

Klassen 'FileLinks' vil fungere på samme måde som FileLink-klassen; den eneste forskel er, at den accepterer mappenavne som input og opretter en liste over links til alle filerne.

Der er brug, der er af den midlertidige mappe, der hedder sample_filer der er skabt til dette. Det vil give en boolesk parameter ved navn rekursiv, som er True som standard og også gentages i alle undermapper for at vise filer i dem alle. Vi kan også sætte denne parameter til False, hvis vi ikke ønsker links til undermapper.

Hvordan vises 'HTML' i Jupyter Notebook?

Klassen med navnet 'HTML' viser en HTML-notesbog. Klassen accepterer en liste over nedenstående datatyper som input til oprettelse af en HTML-side.

  1. En streng, der indeholder HTML-kode
  2. URL
  3. HTML-fil på det lokale system

Grundlæggende principper for informationsvisualisering

Vi vil diskutere de simple principper for datavisualisering, som vi har indsamlet og analyseret. Vi vil diskutere forskellige principper at huske på, når vi danner en visualisering, der vil give mening for den menneskelige hjerne. Vores primære fokus er at lære, hvordan man hjælper med at præsentere data, hvilket er nyttigt for den menneskelige hjerne og meget let kan fortolkes uden træning.

Visualisering af data

Datavisualisering er hovedsageligt opdelt i tre kategorier. De er:

Informationsvisualisering

Det vil referere til abstrakt information, der ikke vil have en position i rummet som et linjediagram, der repræsenterer aktiekursen over mange år.

Eksempel: Statiske plots ved hjælp af matplotlib, seaborn osv.

Videnskabelig visualisering

Det refererer hovedsageligt til at repræsentere dataene med en fysisk repræsentation i rummet, som sonografirapporter, metanfordeling i en forbrændingsmotor, CT-scanningsrapporter og MRI-scanningsrapporter, hvor hvert datapunkt har en faktisk 3D-placering i rummet.

Visuel analyse

Det refererer til interaktive dashboards, visualisering og statistiske algoritmer, der hurtigt kan analysere fra forskellige aspekter.

sorteringsalgoritmer flette sortering

Eksempel: Dashboards ved hjælp af en bindestreg, plotly, voila, panel osv.

display_html()

Display_html()-metoden vil tage en liste over objekter, der er oprettet ved hjælp af display.HTML-klassen som input, og vise dem alle én efter én i Jupyter notesbog.

Koden nedenfor vil forklare brugen med et simpelt eksempel, hvor vi kombinerer HTML'en for google URL'en og den lokale fil.

 html1=display.HTML(url='https://google.com') html2=display.HTML(filename='basic-principles-of-information-visualization.html') display.display_html(html1, html2) 

Produktion

IPython skærm

Hvordan vises 'IFrame' i Jupyter Notebook?

IFrame-klassen viser iframes i Jupyter-notebooks, og den vil lade os specificere bredden og højden af ​​IFrame. Vi skal bruge en IFrame til at vise lokale HTML-filer og IPython-dokumenter ved hjælp af URL'er.

Hvordan viser man 'billeder' i Jupyter Notebook?

Klassen 'Billede' vil vise billeder af typen jpg/jpeg/png/gif i Jupyter Notebook. Vi kan også give enten billedinformation som str/bytes eller filnavn/URL.

    display_jpeg():Display_jpeg()-metoden tager inputbilledobjekter af jpeg/jpg-filer, der er oprettet ved hjælp af klassen kaldet Image, og vil vise billeder efter hinanden i en notesbog.display_png():Display_png()-metoden vil fungere som display_jpeg()-metoden og vil tage input som en liste over billedobjekter, der indeholder information om png-filerne.

Hvordan viser man 'SVG-billeder' i Jupyter Notebook?

Klassen kaldet SVG vil vise SVG-billederne i Jupyter-notesbogen. Vi kan også angive billedets filnavn på et lokalt system eller web-URL for at vise SVG-billedet.

    display_svg():Display_svg-billedet vil tage input som en liste over SVG-objekter oprettet ved hjælp af SVG-klassen og vise dem efter hinanden.

Hvordan viser jeg 'JSON' i Jupyter Notebook?

Klassen JSON vil vise indholdet af JSON som en mappelignende struktur i selve Jupyter Notebook, hvor vi kan finde den ved at udvide eller fjerne strukturen med noden. Indgangen er en JSON-ordbog til metoden, og den vil vise indholdet i en trælignende interaktiv struktur. Klassen indlæser JSON fra de lokale filer og URL'er på nettet.

Denne funktionalitet fungerer kun med Jupyter lab. Det virker ikke for Jupyter notebook.

 json_data=[{'Name': 'William', 'Employee ID': 1, 'Address': 'Now York'}] display.JSON(data=json_data) 

Produktion

IPython skærm
 display.JSON(data=json_data, expanded=True) 

Produktion

IPython skærm

display_json()

Metoden display_json() vil tage input som en gruppe af json-objekter oprettet ved hjælp af JSON-klassen og vise dem alle én efter én.

 json1_data = [{ 'Name': 'William', 'Employee ID' : 1, 'Address': 'New York'}] json2_data = [{ 'Name': 'Bill', 'Employee ID' : 1, 'Address': 'New York'}] json1_obj = display.JSON(json1_data, expanded=True) json2_obj = display.JSON(json2_data, expanded=True) display.display_json(json1_obj, json2_obj) 

Produktion

IPython skærm

Hvordan viser jeg 'Javascript' i Jupyter Notebook?

Klassen ved navn Javascript vil udføre javascript-kode i Jupyter Notebook. Vi kan også angive filnavnet eller URL-adressen til javascript-koden, og den vil udføre dem.

Vi kan også få adgang til HTML-elementet i celleoutput ved at bruge elementvariablen i javascript. Det vil også ændre det i henhold til vores behov for at vise notebook-outputtet.

Nedenfra har vi udført en simpel javascript-kode, som vil sammenligne tre tal og udskrive det største af tre tal som output fra cellen ved at indstille elementets innerHTML-attribut.

Vi er nødt til at få denne funktionalitet til kun at fungere med Jupyter lab, og den vil ikke fungere i en Jupyter notesbog.

Eksempel

 // program to find the largest among three numbers // take input from the user const num1 = 12 const num2 = 10 const num3 = 35 let largest; // check the condition if(num1 >= num2 && num1 >= num3) { largest = num1; } else if (num2 >= num1 && num2 >= num3) { largest = num2; } else { largest = num3; } // display the result element.innerHTML = '' display.Javascript(filename='sample.js') 

Produktion

Det største antal er: 35

Hvordan viser man 'Markdown' i Jupyter Notebook?

Klassen ved navn Markdown vises i Jupyter-notesbogen. Jupyter-notesbogen vil allerede give markdown-celler, hvor vi kan vise markdowns, men denne klasse vil være nyttig, når vi får markdown-data fra mange kilder i kode. Nedenfor kan vi forklare det med et simpelt eksempel på, hvordan vi kan bruge det. Klassen vil også indlæse Markdown fra en lokal fil eller web-URL.

Eksempel

 markdown = ''' # H1 Heading ## H2 Heading * L1 * L2 **Bold Text** ''' display.Markdown(markdown) 

Produktion

IPython skærm

display_markdown()

Metoden display_markdown() accepterer en gruppe markdown-objekter, der er oprettet ved hjælp af Markdown-klassen, og viser dem alle én efter én.

Hvordan viser man matematiske formler ved hjælp af 'LaTex' i Jupyter Notebook?

Latex's klasse vil vise Latex i en Jupyter-notesbog, som almindeligvis bruges til at udtrykke matematiske formler i en Jupyter-notesbog. Jupyter notesbogen vil bruge matematik jaxjavascript til at vise Latex i Jupyter notesbogen. Vi kan også levere latexdata som en streng, filnavn eller URL på nettet til klassen. Vi forklarede det også med et eksempel på visning af en formel i en Jupyter Notebook, som vil være et krav i mange videnskabelige projekter.

 idf = ''' $ idf(t) = {log_{} dfrac {n_d} {df(d,t)}} + 1 $ ''' display.Latex(idf) 

Produktion

IPython skærm

display_latex()

Display_latex() vil tage input som en liste over Latex-objekter og vise Latex individuelt.

 idf = ''' $ idf(t) = {log_{} dfrac {n_d} {df(d,t)}} + 1 $ ''' tf_idf = ''' $ tf{-}idf(t,d) = tf(t,d) * idf(t) $ ''' idf_latex = display.Latex(idf) tf_idf_latex = display.Latex(tf_idf) display.display_latex(idf_latex, tf_idf_latex) 

Produktion

IPython skærm

Hvordan viser man 'Scribd Documents' i Jupyter Notebook?

Klassen ved navn ScribdDocument vil vise Scribd pdf-filer i en Jupyter-notesbog. Vi skal give bogens unikke id på Scribd, som viser et dokument i en notesbog, som vi derefter kan læse. Vi kan også angive højden og bredden af ​​den ramme, der skal vise bogen. Det vil også angive startsidenummeret ved at bruge startside parameter for at starte fra den side.