​​​​​​​Excelin Python otetaan tällä hetkellä käyttöön Enterprise and Business -käyttäjille, jotka käyttävät Windowsin nykyistä kanavaa versiosta 2407 (koontiversio 17830.20128). Se on saatavilla esikatselussa Perhe- ja Henkilökohtaiset-käyttäjille, jotka käyttävät Windowsin nykyistä kanavaa versiosta 2405 alkaen (koontiversio 17628.20164). Excelin Python on saatavilla esikatselussa Education-käyttäjille, jotka käyttävät Nykyistä kanavaa (esikatselu) Microsoft 365 Insider Program -ohjelman kautta. ​​​​​​​

Se otetaan ensin käyttöön Excel for Windowsissa ja sitten muissa ympäristöissä myöhemmin. Lisätietoja saatavuudesta on artikkelissa Python Excelin käytettävyydestä.

Jos kohtaat Pythoniin liittyviä ongelmia Excelissä, ilmoita niistä valitsemalla Ohje > Palaute Excelissä.

Oletko uusi Python-käyttäjä Excelissä? Aloita artikkelista Johdanto Pythoniin Excelissä ja Pythonin käytön aloittaminen Excelissä.

Piirtojen ja kaavioiden luominen avoimen lähdekoodin Python-kirjastojen avulla 

Excelin Python sisältää Anacondan tarjoamat python-kirjastot. Tässä artikkelissa kerrotaan, miten python-kirjastoja, kuten merisyntyneitäja matplotlibeja, käytetään juonien ja kaavioiden luomiseen. Lisätietoja Excelin Pythonin kanssa käytettävissä olevista avoimen lähdekoodin kirjastoista on artikkelissa Avoimen lähdekoodin kirjastot ja Python Excelissä

Tämän artikkelin esimerkeissä käytetään Iris-kukka-tietojoukkoa. Lataa tämä esimerkkityökirja, jota voit seurata artikkelin python-in-excel-iris-dataset.xlsxkanssa. 

Luo paripiirtoa merisyntyisen kanssa 

Tässä esimerkissä näytetään, miten Iris-kukka-tietojoukosta luodaan paripiirtovisualisointi. Piirtopari on piirto- ja kaaviomatriisi, joka vertaa tietojoukon kunkin muuttujan välistä suhdetta. Tässä tapauksessa Iris-kukka-tietojoukko sisältää neljä numeerista tietosaraketta: sepal_length, sepal_width, petal_length ja petal_width

Excelin Pythonin avulla voit luoda paripiirron merisyntyisen kirjaston kanssa.

Excelin Python luo visualisoinnin merisyntyisenkirjaston avulla. Seaborn-kirjastotuodaan automaattisesti Pythoniin Excelissä seuraavan tuontilausekkeen avulla, jolloin voit viitata siihen aliastunnuksella.  

import seaborn as sns 

Jos haluat luoda Iris-kukkatietojoukon paripiirron merisyntyisen kirjaston kanssa, toimi seuraavasti:

  1. Kirjoita seuraava koodikatkelman Python-soluun Excelin solussa. Koodikatkelmaan tallennetaan paripiirto muuttujana nimeltä pairplot.  Se luo parin tontin merisyntyisen kirjaston aliaksen sns ja merisyntyisen funktiopariparin kanssa. pairplot = sns.pairplot(xl("Table1[#All]", headers=True))Pairplot-funktion argumenttina koodikatkelmalla käytetään mukautettua Python-funktiota xl() ja se viittaa laskentataulukon ensimmäiseen taulukkoon Taulukko1. Se sisältää koko taulukon sisällön (kuten [#All]) ja muistiinpanot siitä, että taulukossa on otsikkorivi (muodossa headers=True). Tässä esimerkissä laskentataulukon Taulukko1 sisältää Iris-tietojoukon.Katso laiteparin piirron esikatselu DataFramessa.

    Huomautus: Jos kohtaat virheitä, katso lisätietoja artikkelista Pythonin vianmääritys Excelissä

  2. Kun python-kaava on määritetty, Excelin Python palauttaa kuvaobjektin piirtovisualisoinnin. Valitse kuvaobjektin solussa oleva korttikuvake, jos haluat nähdä visualisoinnin esikatselun.Katso esikatsele piirtoa DataFrame-kortissa.

  3. Säilytä visualisointi Kuva-objektina, jotta voit jatkaa sen käyttöä Python-laskutoimituksissa. Pura kuva Excel-ruudukkoon, jos haluat muuttaa sen kokoa ja tarkastella jokaista piirtoa yksityiskohtaisemmin. Jos haluat poimia kuvan ruudukkoon, napsauta hiiren kakkospainikkeella tai ctrl+napsauta kuvaobjektin sisältävää solua ja valitse valikosta Näytä piirto solujen päällä.Lisätietoja kuvaobjektien poimimisesta on tämän artikkelin Artikkelissa Kuvaobjektin poimiminen Excel-ruudukkoon .

Pistepiirron luominen Matplotlibin avulla 

Tässä esimerkissä kuvataan, miten voit luoda pistepiirron Iris-kukkamallijoukon avulla. Pistekaavio näyttää tietojoukon kahden numeerisen muuttujan välisen suhteen. Esimerkki luo pistepiirron, joka näyttää seuraavan näyttökuvan kaltaiselta ja vertaa sepal_width ja sepal_length arvoja.

Excelin Pythonin avulla voit luoda pistepiirron matplotlib-kirjaston kanssa.

Excelin Python luo visualisoinnin Avoimen lähdekoodin Matplotlib-kirjastonavulla. Matplotlib-kirjastotuodaan automaattisesti Pythoniin Excelissä seuraavalla tuontilausekkeella, jonka avulla voit viitata siihen plt.  

import matplotlib.pyplot as plt 

Jos haluat luoda sirontakaavion Iris-kukkatietojoukosta Matplotlib-kirjaston kanssa, toimi seuraavasti:

  1. Käytä Excelin Python-solussa matplotlib-pistefunktiota ja kirjoita argumenteiksi Iris-tietojoukon sepal_length ja sepal_width sarakkeet. Tässä esimerkissä laskentataulukon Taulukko1 sisältää Iris-tietojoukon.plt.scatter(xl("Table1[sepal_length]"), xl("Table1[sepal_width]"))

  2. Lisää pistepiirrokseen selitteet ja otsikko.  # Label the x and y axes of the plot. plt.xlabel('sepal_length') plt.ylabel('sepal_width')   # Add a title to the plot.  plt.title('Sepal length and width analysis')

    Huomautus: Voit lisätä tämän koodikatkelman ylimääräisenä koodirivinä edellisessä vaiheessa olevan Python-kaavan jälkeen samaan Excel-soluun tai voit kirjoittaa sen uuteen Pythoniin Työkirjan Excel-solussa. Jos kirjoitat sen uuteen soluun, noudata rivin päälaskentajärjestyksen sääntöjä ja kirjoita se ensimmäisen solun jälkeen.

  3. Kun python-kaavat on määritetty, Excelin Python palauttaa pistepiirron visualisoinnin kuvaobjektina. Valitse kuvaobjektin solussa oleva korttikuvake, jos haluat nähdä visualisoinnin esikatselun.  Näyttää pistepiirron esikatselun Tietomallissa.

    Huomautus: Jos kohtaat virheitä, katso lisätietoja artikkelista Pythonin vianmääritys Excelissä .  

  4. Säilytä visualisointi kuvaobjektina, jotta voit jatkaa sen käyttöä Python-laskutoimituksissa. Pura kuva Excel-ruudukkoon, jos haluat muuttaa sen kokoa ja tarkastella piirtoa tarkemmin. Jos haluat poimia kuvan ruudukkoon, napsauta hiiren kakkospainikkeella tai ctrl+napsauta kuvaobjektin sisältävää solua ja valitse valikosta Näytä piirto solujen päällä.Lisätietoja kuvaobjektien poimimisesta on tämän artikkelin Artikkelissa Kuvaobjektin poimiminen Excel-ruudukkoon .

Kuvaobjektin poimiminen Excel-ruudukkoon

Kuten tämän artikkelin esimerkeistä käy ilmi, Python-kirjastot, kuten merisyntyiset ja Matplotlib, voivat palauttaa tietojen visualisointeja Excel-soluihin. Oletusarvoisesti Excelin Python palauttaa nämä visualisoinnit kuvaobjekteina. 

Valitse kuvaobjektin solussa oleva korttikuvake, jos haluat nähdä visualisoinnin esikatselun.

Katso esikatsele piirtoa DataFrame-kortissa.

Voit poimia kuvan Excel-ruudukkoon kahdella tavalla: näyttää kuvan piirtona solujen päällä tai näyttää kuvan solussa.

Kuvan näyttäminen solujen päällä

Näiden ohjeiden avulla voit näyttää kuvan solujen päällä piirtämisenä.

  1. Napsauta hiiren kakkospainikkeella tai Ctrl+napsauta kuvaobjektin sisältävää solua ja valitse valikosta Näytä piirto solujen päällä (tai käytä pikanäppäintä Ctrl+Alt+Vaihto+C). Tämä luo kuvasta kopion, joka kelluu Excel-ruudukon päällä ja jonka kokoa voi muuttaa helposti. Alkuperäinen kuvaobjekti säilyy alkuperäisessä solussa.

  2. Siirrä kuvaa laskentataulukossa valitsemalla ja vetämällä. Voit muuttaa kuvan kokoa valitsemalla ja vetämällä solmuja kuvan kulmissa ja sivuilla.Luo irrallinen piirtovisualisointi Luo viittaus -kuvakkeella.

Kuvan näyttäminen solussa

Näiden ohjeiden avulla voit näyttää kuvan solussa.

  1. Palauta kuvaobjekti Excel-arvona. Valitse kuvaobjektin solu, siirry kaavarivin Python-tulostusvalikkoon ja valitse Excel-arvo.   Muuta tulostyyppiä Kaavarivin vieressä olevan Python-tulostusvalikon avulla. Piirtokuva näkyy nyt solussa.

    Vihje: Jos haluat vaihtaa Python-kaavan tulokset Python-objektien ja Excel-arvojen välillä, käytä pikanäppäintä Ctrl+Alt+Vaihto+M. Lisätietoja pikanäppäimista on artikkelissa Python Excelin pikanäppäimissä.

  2. Piirtokuvan koko määräytyy solun koon mukaan. Suurenna kuvan kokoa suurentamalla solun kokoa tai yhdistämällä solut.

Omien piirtojen ja kaavioiden luominen 

Nyt kun olet oppinut luomaan Pythonin Excelin piirto- ja kaavioissa esimerkkitietojoukon avulla, syöttämällä omat tietosi Excel-työkirjaan ja luomalla mukautettuja visualisointeja.  

Jos haluat tuoda ulkoisia tietoja Pythonin kanssa Excelissä käytettäviksi, käytä Power Query. Lisätietoja on artikkelissa Pythonin tietojen tuominen Excelissä Power Query avulla.

Eri fonttien käyttäminen muilla kuin englanninkielisillä kielillä 

Jos haluat kaavioon tietoja, jotka käyttävät muita kuin latinalaisia aakkosmerkkejä, kuten kiinaa, koreaa tai thaita, käytä excel.FontPath. Excelin Python hahmontaa oletusarvoisesti muut kuin latinalaiset aakkoset tyhjäksi neliöksi ('□'). Voit ratkaista ongelman excel.FontPath avulla voit käyttää excel -moduulia eri fontin kutsumiseen ja merkkien hahmontamiseen.

Seuraavat fontit ovat käytettävissä. Määrite liitetään python-koodisi excel.FontPath . Polku viittaa määritteen kutsumaan fonttitiedostoon.

Määrite

Polku

BENGALI

/usr/share/fonts/Vrinda.ttf

CHINESE_SIMPLIFIED

/usr/share/fonts/SimSun.ttf

CHINESE_TRADITIONAL

/usr/share/fonts/MingLiU.ttf

HINDI

/usr/share/fonts/Mangal.ttf

JAPANI

/usr/share/fonts/Meiryo.ttf

KOREA

/usr/share/fonts/Batang.ttf

THAI

/usr/share/fonts/THSarabunPSK.ttf

erottua. Esimerkki FontPathista

Ennen

Tämä kaavio ei pysty hahmontamaan oikeita piirtootsikoita, koska oletusfontti ei tue annettuja merkkejä.

Kaavio, jossa merkkejä ei hahmonneta

Väärin hahmonnetun kaavion otsikoiden koodiesimerkki: 

import matplotlib.pyplot as plt

# Make the plot.

myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文')

# Show the plot.

plt.show()

Jälkeen

Jos haluat korjata tässä esimerkissä olevat kaavion otsikot, käytä excel.FontPath.CHINESE_SIMPLIFIED annettujen kiinalaisten merkkien hahmontamiseen oikein. 

Kaavio, jossa merkit hahmonnetaan oikein

Koodiesimerkki oikein hahmonnetuille kaavion otsikoille: 

import matplotlib.pyplot as plt

from matplotlib.font_manager import FontProperties

# Set the font path.

#   Returns '/usr/share/fonts/simsun.ttf'

font_path = excel.FontPath.CHINESE_SIMPLIFIED

# Point the properties to the font path.

font_properties = FontProperties(fname=font_path)

plt.rcParams['font.family'] = font_properties.get_name()

# Make the plot.

myplot = pd.DataFrame({'欧文': [1,2,3], '比尔': [1,2,3]}).plot(x='欧文')

# Show the plot.

plt.show()

Aiheeseen liittyviä artikkeleita 

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.

Osallistumalla yhteisöihin voit kysyä kysymyksiä ja vastata niihin, antaa palautetta sekä kuulla lisää asiantuntijoilta, joilla on runsaasti tietoa.