{"id":21974,"date":"2023-07-26T10:00:00","date_gmt":"2023-07-26T08:00:00","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=21974"},"modified":"2023-07-25T12:29:32","modified_gmt":"2023-07-25T10:29:32","slug":"analisi-dei-dati-pandas","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/","title":{"rendered":"L\u2019analisi dei dati resa semplice: padroneggia Pandas per ottenere risultati dai tuoi dati"},"content":{"rendered":"\n<p>Quando si parla di analisi dei dati, <strong>Pandas \u00e8 sicuramente la libreria Python pi\u00f9 potente e ampiamente utilizzata per la manipolazione<\/strong>, <strong>la pulizia e l\u2019elaborazione dei dati<\/strong>. Grazie alle sue funzionalit\u00e0, infatti, possiamo lavorare con dati tabulari, recuperandoli da database SQL o fogli di calcolo di Excel, ad esempio.<\/p>\n\n\n\n<p>Pandas ci d\u00e0 anche la possibilit\u00e0 di manipolare e pulire i dati per prepararli per analisigrafiche, ma anche per il Machine Learning. In questo articolo,<strong> introdurremo Pandas e il concetto di data frame in Pandas<\/strong>. Successivamente, mostreremo alcune delle caratteristiche di Pandas con esempi pratici di analisi dei dati.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-dcfe788a gb-headline-text\">Introduzione a Pandas<\/h2>\n\n\n\n<p><em>Che cos&#8217;\u00e8 Pandas?<\/em><\/p>\n\n\n\n<p>Questo \u00e8 ci\u00f2 che gli sviluppatori dicono sul sito web di Pandas riguardo alla loro missione:<br><em>&#8220;pandas aims to be the fundamental high-level building block for doing practical, real-world data analysis in Python. Additionally, it has the broader goal of becoming the most powerful and flexible open source data analysis\/manipulation tool available in any language&#8221;<\/em>.<\/p>\n\n\n\n<p>Quindi, stiamo parlando di ci\u00f2 che punta ad essere<strong> l&#8217;unica libreria<\/strong> che ci verr\u00e0 in mente quando pensiamo alla parola <em>&#8220;analisi dei dati&#8221;<\/em>.<\/p>\n\n\n\n<p>E, ad essere sinceri, \u00e8 davvero cos\u00ec: quando parliamo di librarie di analisi dei dati con chi lavora nel settore, <strong>la prima cosa che possa veramente venire in mente a chiunque \u00e8 Pandas.<\/strong><\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-3889628f gb-headline-text\">Come installare Pandas<\/h2>\n\n\n\n<p>Ci sono un paio di modi per installare Pandas sul tuo computer:<\/p>\n\n\n\n<p>Se hai gi\u00e0 Python installato, puoi installare Pandas col classico metodo:<br><strong>$ pip install pandas<\/strong><\/p>\n\n\n\n<p>L&#8217;altro modo, invece, prevede di<strong> installare Anaconda sul tuo computer.<\/strong> Questo \u00e8 il mio metodo preferito perch\u00e9 <strong>installer\u00e0 Python, Pandas, tutte le librerie legate alla Data Science e al Machine Learning<\/strong>, e molte altre ancora.<\/p>\n\n\n\n<p>Quindi, installando <strong>Anaconda<\/strong>, praticamente non avrai bisogno di installare altre librerie Python in futuro. Per scoprire come installarlo sul tuo computer, puoi consultare il loro<a href=\"https:\/\/www.anaconda.com\/download\" class=\"ek-link\"> sito web.<\/a><\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-204af43b gb-headline-text\">Definizione delle Pandas series e dei data frame in Pandas<\/h2>\n\n\n\n<p>Un data frame \u00e8 una<strong> tabella, simile a un foglio di calcolo<\/strong>, in cui possiamo organizzare ed analizzare dati ed informazioni.<\/p>\n\n\n\n<p>In altre parole, <strong>possiamo pensare ad un frame dati come a un contenitore<\/strong> che mantiene e organizza i dati in colonne e righe, come segue:<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/Yl86F9UGa8R_lXrVDx8gTA9PcOqY4Qm6aDFEpHIB9nDRVB6MFJuksq_baZbGukUUHRBuNH_dXt5yoyTpotJ7lLr-JrcOF7DFxRtjkUDF4095xstXIJod8c3dP6t7-YeESDec2Vk1KSAaGuE-JxrFa2I\" alt=\"pandas analisi dati\" width=\"732\" height=\"529\"\/><figcaption class=\"wp-element-caption\"><em>Un data frame Pandas. Immagine dell\u2019autore.<\/em><\/figcaption><\/figure>\n\n\n\n<p>Quindi, un data frame \u00e8 un<strong> contenitore ordinato di dati<\/strong>, i quali possono essere collezionati sotto forma di testo o numeri, e sono organizzati in colonne e righe.<\/p>\n\n\n\n<p>In particolare, ogni colonna di Pandas viene anche chiamata<em> &#8220;Pandas series&#8221;<\/em>. Quindi, un altro modo per vedere un data frame in Pandas \u00e8 questo: <strong>un data frame \u00e8 una raccolta ordinata di Pandas series.<\/strong><\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-ec272234 gb-headline-text\">Creazione e visualizzazione di un data frame in Pandas<\/h2>\n\n\n\n<p>Per lavorare con i dati tabulari abbiamo <strong>due possibilit\u00e0:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>I dati sono stati<strong> creati da qualche parte e sono memorizzati in un file<\/strong>. Possiamo aprire il file in Pandas e utilizzare i dati al suo interno.<\/li>\n\n\n\n<li>Possiamo <strong>creare un data frame tramite codice <\/strong>e utilizzarlo immediatamente.<\/li>\n<\/ul>\n\n\n\n<p>Qui di seguiro mostreremo la seconda opzione, mentre la prima<strong> sar\u00e0 illustrata nel paragrafo successivo.<\/strong><\/p>\n\n\n\n<p>In Pandas, possiamo creare un data frame con la stessa sintassi con cui creeremmo un dizionario in Python. Quindi, supponiamo di voler creare un data frame che<strong> raccolga i valori relativi ai tempi misurati, in secondi, di alcune persone che hanno effettuato vari tentativi di corsa<\/strong>. Possiamo farlo nel seguente modo:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">import pandas <span class=\"hljs-keyword\">as<\/span> pd\n\n<span class=\"hljs-comment\"># Create data frame<\/span>\ntimes = pd.DataFrame({<span class=\"hljs-string\">\"Jhon\"<\/span>:&#91;<span class=\"hljs-number\">20<\/span>, <span class=\"hljs-number\">18<\/span>, <span class=\"hljs-number\">36<\/span>], <span class=\"hljs-string\">\"Simon\"<\/span>:&#91;<span class=\"hljs-number\">15<\/span>, <span class=\"hljs-number\">21<\/span>, <span class=\"hljs-number\">19<\/span>], <span class=\"hljs-string\">\"Karen\"<\/span>:&#91;<span class=\"hljs-number\">22<\/span>, <span class=\"hljs-number\">19<\/span>, <span class=\"hljs-number\">16<\/span>]})\n\n<span class=\"hljs-comment\"># Show first 10 values<\/span>\ntimes.head()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Quindi, importiamo Pandas come &#8220;pd&#8221; in primo luogo. Successivamente, creiamo un data frame con il metodo <strong>pd.DataFrame()<\/strong>. Infine, utilizziamo il metodo <strong>head() <\/strong>per mostrare <strong>i primi 5 valori del nostro data frame.<\/strong><\/p>\n\n\n\n<p>Il risultato \u00e8 il seguente:<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/K6sYIYIeU1LAEKIxM5W8npEi31iejqhXLuOdDum4SGcMtcJ_jAvC8HHgDBCKKSiy-7yug8Xqf01ezavYFnDnODglWb3CCdlppNPts6EIA5jOBwYmHH9CSAR1H8_CatMORLT5Cafo284vuth9Ob6Mp-I\" width=\"215\" height=\"145\"><\/p>\n\n\n\n<p>Ora, andiamo ad utilizzare dai dati veri per poter vedere alcune features di Pandas.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-73e6e132 gb-headline-text\">Manipolazione dei dati in Pandas: un tutorial pratico con dati reali<\/h2>\n\n\n\n<p>Il modo migliore per imparare Pandas<strong> \u00e8 prendere dei dati e iniziare a programmare.<\/strong> Questo perch\u00e9 \u00e8 una libreria talmente vasta che studiare e capire la teoria \u00e8 del tutto inutile. La cosa migliore da fare \u00e8 iniziare subito a sporcarsi le mani coi dati.<\/p>\n\n\n\n<p>Per mostrare alcune delle caratteristiche di Pandas, abbiamo <strong>preso alcuni dati relativi alla popolazione mondiale<\/strong> (il file \u00e8 scaricabile da <a href=\"https:\/\/www.kaggle.com\/datasets\/iamsouravbanerjee\/world-population-dataset\" class=\"ek-link\">Kaggle qui<\/a>) per analizzarli.<\/p>\n\n\n\n<p>Come possiamo vedere, i dati sono in formato <strong>CSV<\/strong>, che \u00e8 uno dei formati pi\u00f9 tipici coi cui ci troviamo a lavorare. Supponendo di aver rinominato il file <strong>&#8220;population.csv&#8221;<\/strong>, ecco come possiamo aprirlo e vedere i primi cinque valori per ogni colonna:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">import pandas <span class=\"hljs-keyword\">as<\/span> pd\n\n<span class=\"hljs-comment\"># Read CSV<\/span>\npopulation = pd.read_csv(<span class=\"hljs-string\">\"population.csv\"<\/span>)\n\n<span class=\"hljs-comment\"># Show head<\/span>\npopulation.head()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>E otteniamo:<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/IKRRSid9BWwY_UUPoG_frSBxpbUbOiZaZ24ZXzoM8iNHrPRlpHEBnQjPAX6ofX5v1tC_w4heWKfTu2E2TZEDTlFnIJSsI4Mdq61BIH4dt52faLk8qnUOoFtNQtefdykK6jYNbbONLQMgWf8Kt3OvrVo\" width=\"602\" height=\"152\"><\/p>\n\n\n\n<p>Quindi, abbiamo un data frame con <em>&#8220;molte&#8221; <\/em>colonne. Ma quante colonne ha? E quante righe?<\/p>\n\n\n\n<p><strong>Per vedere questi valori e rispondere alla domanda, possiamo digitare il codice che segue:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"># <span class=\"hljs-selector-tag\">Show<\/span> <span class=\"hljs-selector-tag\">shape<\/span>\n<span class=\"hljs-selector-tag\">population<\/span><span class=\"hljs-selector-class\">.shape<\/span>\n\n&gt;&gt;&gt;\n\n    (234, 17)<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Quindi, il nostro data frame <strong>ha 234 righe e 17 colonne.<\/strong><\/p>\n\n\n\n<p>Una delle cose importanti da fare quando <strong>si analizzano i dati e verificare se il nostro data frame contenga o meno dei valori nulli.<\/strong><\/p>\n\n\n\n<p>Lo si pu\u00f2 fare cos\u00ec:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># Show Null values<\/span>\npopulation.isnull().sum()\n\n&gt;&gt;&gt;\n\n  Rank                           <span class=\"hljs-number\">0<\/span>\n  CCA3                           <span class=\"hljs-number\">0<\/span>\n  Country\/Territory              <span class=\"hljs-number\">0<\/span>\n  Capital                        <span class=\"hljs-number\">0<\/span>\n  Continent                      <span class=\"hljs-number\">0<\/span>\n  <span class=\"hljs-number\">2022<\/span> Population                <span class=\"hljs-number\">0<\/span>\n  <span class=\"hljs-number\">2020<\/span> Population                <span class=\"hljs-number\">0<\/span>\n  <span class=\"hljs-number\">2015<\/span> Population                <span class=\"hljs-number\">0<\/span>\n  <span class=\"hljs-number\">2010<\/span> Population                <span class=\"hljs-number\">0<\/span>\n  <span class=\"hljs-number\">2000<\/span> Population                <span class=\"hljs-number\">0<\/span>\n  <span class=\"hljs-number\">1990<\/span> Population                <span class=\"hljs-number\">0<\/span>\n  <span class=\"hljs-number\">1980<\/span> Population                <span class=\"hljs-number\">0<\/span>\n  <span class=\"hljs-number\">1970<\/span> Population                <span class=\"hljs-number\">0<\/span>\n  Area (km\u00b2)                     <span class=\"hljs-number\">0<\/span>\n  Density (per km\u00b2)              <span class=\"hljs-number\">0<\/span>\n  Growth Rate                    <span class=\"hljs-number\">0<\/span>\n  World Population Percentage    <span class=\"hljs-number\">0<\/span>\n  dtype: int64<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>E il risultato ci mostra che <strong>non ci sono valori nulli nelle varie colonne.<\/strong> Quindi, possiamo <strong>procedere con la nostra analisi senza preoccuparci <\/strong>dei valori nulli.<\/p>\n\n\n\n<p>Ora, supponiamo di non essere interessati a tutte le colonne del data frame <strong>perch\u00e9 riteniamo che alcune di esse forniscano dati che non ci interessano<\/strong>. Possiamo creare un altro data frame che contenga solo le colonne che vogliamo analizzare.<\/p>\n\n\n\n<p>Ad esempio, supponiamo di non essere interessati alle seguenti colonne: <em>&#8220;Rank&#8221;<\/em> e <em>&#8220;CCA3&#8221;<\/em>. Possiamo decidere di <strong>creare un altro frame dati <\/strong>senza queste due colonne digitando quanto segue:<\/p>\n\n\n\npopulation = population.drop([&#8220;Rank&#8221;, &#8220;CCA3&#8221;], axis=1)\n\n\n\n<p>Quindi, con il metodo<strong> drop()<\/strong>, eliminiamo le colonne che non ci interessano, ma dobbiamo specificare l\u2019asse. In Pandas, <strong>axis=1<\/strong> rappresenta la direzione verticale, mentre<strong> axis=0<\/strong> rappresenta la direzione orizzontale (e quindi la si utilizza quando vogliamo eliminare delle righe).<\/p>\n\n\n\n<p>Inoltre, non ci piace molto il fatto che una colonna si chiami<em><strong> \u201cCountry\/Territory\u201d<\/strong><\/em> perch\u00e9 se dobbiamo creare un filtro per questa colonna dovremmo specificare il nome intero, con elevato rischio di errori. E\u2019, quindi, <strong>meglio rinominarla.<\/strong> Per rinominare una colonna si pu\u00f2 fare cos\u00ec:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">population = population.rename(columns={<span class=\"hljs-string\">\"Country\/Territory\"<\/span>:<span class=\"hljs-string\">\"Country\"<\/span>})<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Supponiamo ora di voler<strong> tracciare l&#8217;andamento della popolazione nel tempo<\/strong>, in relazione ai primi tre paesi asiatici per tasso di crescita. In altre parole: <strong>vogliamo intercettare i primi tre paesi asiatici per tasso di crescita nel tempo <\/strong>e vogliamo tracciare l&#8217;andamento della popolazione nel tempo.<\/p>\n\n\n\n<p>Possiamo farlo in questo modo:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">import matplotlib.pyplot <span class=\"hljs-keyword\">as<\/span> plt\n\n<span class=\"hljs-comment\"># Select Asian Countries and create a new data frame with them<\/span>\nasia = population&#91;population&#91;<span class=\"hljs-string\">\"Continent\"<\/span>] == <span class=\"hljs-string\">\"Asia\"<\/span>]\n\n<span class=\"hljs-comment\"># Order data frame for growth rate<\/span>\nasia_sorted = asia.sort_values(by=<span class=\"hljs-string\">\"Growth Rate\"<\/span>, ascending=<span class=\"hljs-keyword\">False<\/span>)\n\n<span class=\"hljs-comment\"># Select the top 3 Countries for growth rate<\/span>\ntop_3_countries = asia_sorted.head(<span class=\"hljs-number\">3<\/span>)\n\n<span class=\"hljs-comment\"># Select the columns with \"Population\"<\/span>\npopulation_columns = &#91;col <span class=\"hljs-keyword\">for<\/span> col in population.columns <span class=\"hljs-keyword\">if<\/span> col.endswith(<span class=\"hljs-string\">\"Population\"<\/span>)]\n\nasia_population_df = asia&#91;population_columns]\n\n<span class=\"hljs-comment\"># Order columns from 1970 to 2022<\/span>\nasia_population_df = asia_population_df.iloc&#91;:, ::<span class=\"hljs-number\">-1<\/span>]\n\n<span class=\"hljs-comment\"># Transpose the columns<\/span>\nasia_population_df = asia_population_df.transpose()\n\n<span class=\"hljs-comment\"># Select the Country in Asia<\/span>\nasia_population_df.columns = asia&#91;<span class=\"hljs-string\">\"Country\"<\/span>]\n\n<span class=\"hljs-comment\"># Create plot<\/span>\n<span class=\"hljs-comment\"># Select the top 3 Countries per growth rate in Asia<\/span>\ntop_3_population_df = asia_population_df&#91;top_3_countries&#91;<span class=\"hljs-string\">\"Country\"<\/span>]]\ntop_3_population_df.plot(figsize=(<span class=\"hljs-number\">10<\/span>, <span class=\"hljs-number\">6<\/span>))\n\n<span class=\"hljs-comment\"># Label title and axes<\/span>\nplt.title(<span class=\"hljs-string\">\"Population in Asia with the max growth rate\"<\/span>)\nplt.xlabel(<span class=\"hljs-string\">\"Year\"<\/span>)\nplt.ylabel(<span class=\"hljs-string\">\"Population\"<\/span>)\n\n<span class=\"hljs-comment\"># Show legend<\/span>\nplt.legend(loc=<span class=\"hljs-string\">\"upper left\"<\/span>)\n\n<span class=\"hljs-comment\">#  Rotate x-axis values<\/span>\nplt.xticks(rotation = <span class=\"hljs-string\">'vertical'<\/span>)\n\n<span class=\"hljs-comment\"># Show plot<\/span>\nplt.show()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>E otteniamo:<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/v1ruu16en6HHx15g9jvUfoWuXVPm9n0edxgKyApYQxJMbaU-BsGCiHE4Jm1kbD39s1AL9hP3zGL-XvekORfmz6VjsC7YuKeS32E_mzEwtC2g4rZnNlZ_Kb62BSdf-IlUAQJlM9Ym0QIO9giVcZePh_A\" width=\"602\" height=\"452\"><\/p>\n\n\n\n<p>Nel codice sopra <strong>abbiamo<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Selezionato \u201cAsia\u201d nella colonna \u201cCountry\u201d tramite il codice: population[population[&#8220;Continent&#8221;] == &#8220;Asia&#8221;]<\/li>\n\n\n\n<li>Ordinato il data frame col metodo sort_values(), scegliendo \u201cGrowth Rate\u201d. Abbiamo poi selezionato i primi tre risultati col metodo head(3).<\/li>\n\n\n\n<li>Preso tutte le colonne il cui nome finisce per \u201cPopulation\u201d, col metodo endswith(), e abbiamo creato un altro data frame chiamato asia_population_df.<\/li>\n\n\n\n<li>Ordinato in modo temporale (dal 1970 al 2022) il data frame col metodo iloc().<\/li>\n\n\n\n<li>Trasposto le colonne col metodo transpose(). Questo significa che le colonne che contengono i dati di popolazione per ogni anno adesso sono delle righe: in questo modo possono essere rappresentte sull\u2019asse orizzontale del grafico.<\/li>\n\n\n\n<li>Selezionato \u201cAsia\u201d con asia[&#8220;Country&#8221;], per fare il grafico<\/li>\n\n\n\n<li>Selezionato le prime tre [top_3_countries[&#8220;Country&#8221;], per fare il grafico.<\/li>\n\n\n\n<li>Usato Matplotlibper fare il grafico dei dati.<\/li>\n<\/ul>\n\n\n\n<p>Supponiamo ora di voler<strong> mostrare l&#8217;andamento della popolazione negli anni relativo ai 5 Paesi <\/strong>con il valore massimo di<em> \u201cWorld Population Percentage\u201d<\/em>. Possiamo farlo in questo modo:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\">import matplotlib.pyplot <span class=\"hljs-keyword\">as<\/span> plt\n\n<span class=\"hljs-comment\"># Sort for pop. percentage<\/span>\npopulation = population.sort_values(by=<span class=\"hljs-string\">\"World Population Percentage\"<\/span>, ascending=<span class=\"hljs-keyword\">False<\/span>)\n\n<span class=\"hljs-comment\"># Top 5<\/span>\ntop_5_countries = population.head(<span class=\"hljs-number\">5<\/span>)\nfiltered_df = population&#91;population&#91;<span class=\"hljs-string\">\"Country\"<\/span>].isin(top_5_countries&#91;<span class=\"hljs-string\">\"Country\"<\/span>])]\n\n\n<span class=\"hljs-comment\"># Select the column with population values<\/span>\npopulation_columns = &#91;col <span class=\"hljs-keyword\">for<\/span> col in filtered_df.columns <span class=\"hljs-keyword\">if<\/span> col.endswith(<span class=\"hljs-string\">\"Population\"<\/span>)]\npopulation_df = filtered_df&#91;population_columns]\n\n<span class=\"hljs-comment\"># Order columns from 1970 to 2022<\/span>\npopulation_df = population_df.iloc&#91;:, ::<span class=\"hljs-number\">-1<\/span>]\n\n<span class=\"hljs-comment\"># Traspose the columns<\/span>\npopulation_df = population_df.transpose()\n\n<span class=\"hljs-comment\"># Filter for Country<\/span>\npopulation_df.columns = filtered_df&#91;<span class=\"hljs-string\">\"Country\"<\/span>]\n\n<span class=\"hljs-comment\"># Plot<\/span>\npopulation_df.plot.line(figsize=(<span class=\"hljs-number\">10<\/span>, <span class=\"hljs-number\">6<\/span>))\nplt.title(<span class=\"hljs-string\">\"Population trend over the years: top 5 Countries per World Population Percentage\"<\/span>)\nplt.xlabel(<span class=\"hljs-string\">\"Year\"<\/span>)\nplt.ylabel(<span class=\"hljs-string\">\"Population\"<\/span>)\n\n<span class=\"hljs-comment\">#  Rotate x-axis values<\/span>\nplt.xticks(rotation = <span class=\"hljs-string\">'vertical'<\/span>)\n\n<span class=\"hljs-comment\"># Show legend<\/span>\nplt.legend(loc=<span class=\"hljs-string\">\"upper left\"<\/span>)\n\n<span class=\"hljs-comment\"># Show plot<\/span>\nplt.show()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>E otteniamo:<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/I7_ePO8a60yvJP9a412Hp602HozoOoHPssUSF4UaLymSUNsUsUQkwPrU4yrYPqAQhwtswSGW6zl_BWrbMbrHlkgpZ4s-aM1PT-L-QH1FRZuf43RqVfIvlaj1lfyLNk3kTmLTvKIHY2dlBbEevtn0AMY\" width=\"602\" height=\"452\"><\/p>\n\n\n\n<p><strong>Il codice \u00e8 abbastanza simile al precedente.<\/strong><\/p>\n\n\n\n<p>L&#8217;unica differenza \u00e8 che qui non abbiamo filtrato per Paese: abbiamo selezionato i primi 5 Paesi al mondo per percentuale di popolazione e abbiamo tracciato l&#8217;andamento della popolazione nel corso degli anni.<\/p>\n\n\n\n<p>Questo grafico, in particolare, <strong>mostra come la popolazione in Cina e in India stia crescendo velocemente nel corso degli anni.<\/strong><\/p>\n\n\n\n<h1 class=\"gb-headline gb-headline-ee371505 gb-headline-text\">Conclusioni<\/h1>\n\n\n\n<p>In questo articolo, abbiamo visto come possiamo <strong>utilizzare Pandas per manipolare i dati <\/strong>al fine di ottenere informazioni da essi, mediante la creazione di grafici specifici.<\/p>\n\n\n\n<p>Il modo migliore per <strong>imparare Pandas \u00e8 ottenere dei dati di nostro interesse e esplorarli<\/strong>, grazie alla curiosit\u00e0 ed all\u2019interesse che abbiamo per essi. In questo modo, si impara Pandas con un approccio pratico, che \u00e8 l&#8217;unico modo che ti aiuter\u00e0 a impararlo in modo efficace.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quando si parla di analisi dei dati, Pandas \u00e8 sicuramente la libreria Python pi\u00f9 potente e ampiamente utilizzata per la manipolazione, la pulizia e l\u2019elaborazione dei dati. Grazie alle sue funzionalit\u00e0, infatti, possiamo lavorare con dati tabulari, recuperandoli da database SQL o fogli di calcolo di Excel, ad esempio. Pandas ci d\u00e0 anche la possibilit\u00e0&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/\">Read more<\/a><\/p>\n","protected":false},"author":171,"featured_media":21978,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10273],"tags":[10248,10438],"collections":[],"class_list":{"0":"post-21974","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-data-science-it","8":"tag-analisi-dei-dati","9":"tag-sviluppo-software-it","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Pandas: libreria Python pi\u00f9 potente per l&#039;analisi dei dati<\/title>\n<meta name=\"description\" content=\"L&#039;analisi dei dati non \u00e8 semplice, ma grazie a Pandas, una delle librerie Python pi\u00f9 usate, questo processo pu\u00f2 diventare facile.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"L\u2019analisi dei dati resa semplice: padroneggia Pandas per ottenere risultati dai tuoi dati\" \/>\n<meta property=\"og:description\" content=\"L&#039;analisi dei dati non \u00e8 semplice, ma grazie a Pandas, una delle librerie Python pi\u00f9 usate, questo processo pu\u00f2 diventare facile.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-26T08:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1183\" \/>\n\t<meta property=\"og:image:height\" content=\"887\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Federico Trotta\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Federico Trotta\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/\"},\"author\":{\"name\":\"Federico Trotta\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/98d2abaf70e7d106abab1f38bf20f90d\"},\"headline\":\"L\u2019analisi dei dati resa semplice: padroneggia Pandas per ottenere risultati dai tuoi dati\",\"datePublished\":\"2023-07-26T08:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/\"},\"wordCount\":1322,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg\",\"keywords\":[\"Analisi dei dati\",\"sviluppo software\"],\"articleSection\":[\"Data Science\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/\",\"name\":\"Pandas: libreria Python pi\u00f9 potente per l'analisi dei dati\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg\",\"datePublished\":\"2023-07-26T08:00:00+00:00\",\"description\":\"L'analisi dei dati non \u00e8 semplice, ma grazie a Pandas, una delle librerie Python pi\u00f9 usate, questo processo pu\u00f2 diventare facile.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg\",\"width\":1183,\"height\":887,\"caption\":\"analisi dati pandas\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data Science\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"L\u2019analisi dei dati resa semplice: padroneggia Pandas per ottenere risultati dai tuoi dati\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/98d2abaf70e7d106abab1f38bf20f90d\",\"name\":\"Federico Trotta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/69bc8655986054bfe43c7eaa7f00e2ea939b761bd924064ea9b5972568a01714?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/69bc8655986054bfe43c7eaa7f00e2ea939b761bd924064ea9b5972568a01714?s=96&d=mm&r=g\",\"caption\":\"Federico Trotta\"},\"description\":\"I have loved writing since I was a young boy in school, writing detective stories as class exams. Thanks to my curiosity, I discovered programming and AI. Having a burning passion for writing, I couldn't avoid starting to write about these topics, so I decided to change my career to become a Technical Writer. My purpose is to educate people on Python programming, Machine Learning, and Data Science, through writing.\",\"sameAs\":[\"https:\/\/federicotrotta.com\/\",\"https:\/\/www.linkedin.com\/in\/federico-trotta\/?originalSubdomain=it\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/federico-trotta\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Pandas: libreria Python pi\u00f9 potente per l'analisi dei dati","description":"L'analisi dei dati non \u00e8 semplice, ma grazie a Pandas, una delle librerie Python pi\u00f9 usate, questo processo pu\u00f2 diventare facile.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/","og_locale":"en_US","og_type":"article","og_title":"L\u2019analisi dei dati resa semplice: padroneggia Pandas per ottenere risultati dai tuoi dati","og_description":"L'analisi dei dati non \u00e8 semplice, ma grazie a Pandas, una delle librerie Python pi\u00f9 usate, questo processo pu\u00f2 diventare facile.","og_url":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2023-07-26T08:00:00+00:00","og_image":[{"width":1183,"height":887,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg","type":"image\/jpeg"}],"author":"Federico Trotta","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Federico Trotta","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/"},"author":{"name":"Federico Trotta","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/98d2abaf70e7d106abab1f38bf20f90d"},"headline":"L\u2019analisi dei dati resa semplice: padroneggia Pandas per ottenere risultati dai tuoi dati","datePublished":"2023-07-26T08:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/"},"wordCount":1322,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg","keywords":["Analisi dei dati","sviluppo software"],"articleSection":["Data Science"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/","url":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/","name":"Pandas: libreria Python pi\u00f9 potente per l'analisi dei dati","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg","datePublished":"2023-07-26T08:00:00+00:00","description":"L'analisi dei dati non \u00e8 semplice, ma grazie a Pandas, una delle librerie Python pi\u00f9 usate, questo processo pu\u00f2 diventare facile.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg","width":1183,"height":887,"caption":"analisi dati pandas"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/analisi-dei-dati-pandas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Data Science","item":"https:\/\/www.codemotion.com\/magazine\/it\/data-science-it\/"},{"@type":"ListItem","position":3,"name":"L\u2019analisi dei dati resa semplice: padroneggia Pandas per ottenere risultati dai tuoi dati"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/98d2abaf70e7d106abab1f38bf20f90d","name":"Federico Trotta","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/69bc8655986054bfe43c7eaa7f00e2ea939b761bd924064ea9b5972568a01714?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/69bc8655986054bfe43c7eaa7f00e2ea939b761bd924064ea9b5972568a01714?s=96&d=mm&r=g","caption":"Federico Trotta"},"description":"I have loved writing since I was a young boy in school, writing detective stories as class exams. Thanks to my curiosity, I discovered programming and AI. Having a burning passion for writing, I couldn't avoid starting to write about these topics, so I decided to change my career to become a Technical Writer. My purpose is to educate people on Python programming, Machine Learning, and Data Science, through writing.","sameAs":["https:\/\/federicotrotta.com\/","https:\/\/www.linkedin.com\/in\/federico-trotta\/?originalSubdomain=it"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/federico-trotta\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min-600x400.jpg","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min-600x600.jpg","author_info":{"display_name":"Federico Trotta","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/federico-trotta\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg",1183,887,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min-150x150.jpg",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min-300x225.jpg",300,225,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min-768x576.jpg",768,576,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min-1024x768.jpg",1024,768,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg",1183,887,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg",1183,887,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min.jpg",100,75,false],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min-180x128.jpg",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min-896x504.jpg",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min-400x225.jpg",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min-600x400.jpg",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/iStock-1141236448-min-600x600.jpg",600,600,true]},"uagb_author_info":{"display_name":"Federico Trotta","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/federico-trotta\/"},"uagb_comment_info":0,"uagb_excerpt":"Quando si parla di analisi dei dati, Pandas \u00e8 sicuramente la libreria Python pi\u00f9 potente e ampiamente utilizzata per la manipolazione, la pulizia e l\u2019elaborazione dei dati. Grazie alle sue funzionalit\u00e0, infatti, possiamo lavorare con dati tabulari, recuperandoli da database SQL o fogli di calcolo di Excel, ad esempio. Pandas ci d\u00e0 anche la possibilit\u00e0&#8230;&hellip;","lang":"it","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/21974","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/171"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=21974"}],"version-history":[{"count":3,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/21974\/revisions"}],"predecessor-version":[{"id":22039,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/21974\/revisions\/22039"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/21978"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=21974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=21974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=21974"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=21974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}