<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pandas archivos - Frexus</title>
	<atom:link href="https://www.frexus.dev/tag/pandas/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.frexus.dev/tag/pandas/</link>
	<description>Generando Valor Agreado</description>
	<lastBuildDate>Sun, 29 Oct 2023 16:50:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.frexus.dev/wp-content/uploads/2024/03/cropped-Captura-de-Pantalla-2022-12-26-a-las-15.52.42-32x32.png</url>
	<title>Pandas archivos - Frexus</title>
	<link>https://www.frexus.dev/tag/pandas/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">215529362</site>	<item>
		<title>Pandas y la info del dataframe</title>
		<link>https://www.frexus.dev/articulo/dataframe/</link>
					<comments>https://www.frexus.dev/articulo/dataframe/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Thu, 24 Nov 2022 07:04:00 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[#Programacion]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[lenguaje]]></category>
		<category><![CDATA[Pandas]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://ajgutierrez.com.mx/?p=1604</guid>

					<description><![CDATA[<p>Existirá momentos en los que se requiera conocer mas información de un dataframe que permita decir cuántas columnas de tipo entero, fecha, decimal existe en él. Para ello se hace uso de la función info que trae pandas; la sintaxis para su uso es la que se muestra a continuación: ¿Cómo se usa? Bien, mantener el siguiente supuesto: &#8220;el csv pruebas&#8221; se requiere saber los tipos de columnas que tiene. En la imagen 1 se puede apreciar que aparece en la terminal el número de indice, se observa una columna con el nombre column donde se indica los nombre de cada una de las columnas que tiene el df (dataframe) y una tercera columna donde se muestra los tipos de datos al que pertenece cada columna del df y finalmente muestra un resumen donde un resumen que indica cuantos columnas de que tipo de dato hay y que espacio esta ocupando en la memoria el df. El código de ejemplo se encuentra aca en el git</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/dataframe/">Pandas y la info del dataframe</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" width="1880" height="1245" src="https://www.frexus.dev/wp-content/uploads/2022/11/pexels-photo-4444036.jpeg" alt="a panda bear in the cage dataframe" class="wp-image-2133" style="aspect-ratio:1.5100401606425702;width:394px;height:auto" srcset="https://www.frexus.dev/wp-content/uploads/2022/11/pexels-photo-4444036.jpeg 1880w, https://www.frexus.dev/wp-content/uploads/2022/11/pexels-photo-4444036-300x199.jpeg 300w, https://www.frexus.dev/wp-content/uploads/2022/11/pexels-photo-4444036-1024x678.jpeg 1024w, https://www.frexus.dev/wp-content/uploads/2022/11/pexels-photo-4444036-768x509.jpeg 768w, https://www.frexus.dev/wp-content/uploads/2022/11/pexels-photo-4444036-1536x1017.jpeg 1536w" sizes="(max-width: 1880px) 100vw, 1880px" /><figcaption class="wp-element-caption">Photo by Kayla S on <a href="https://www.pexels.com/photo/a-panda-bear-in-the-cage-4444036/">Pexels.com</a></figcaption></figure>
</div>


<p>Existirá momentos en los que se requiera conocer mas información de un dataframe que permita decir cuántas columnas de tipo entero, fecha, decimal existe en él. Para ello se hace uso de la función <strong>info</strong> que trae pandas; la sintaxis para su uso es la que se muestra a continuación:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="1" data-enlighter-title="" data-enlighter-group="">df.info()</pre>



<h2 class="wp-block-heading">¿Cómo se usa?</h2>



<p>Bien, mantener el siguiente supuesto: &#8220;el csv pruebas&#8221; se requiere saber los tipos de columnas que tiene. </p>



<figure class="wp-block-embed is-type-rich is-provider-tumblr wp-block-embed-tumblr"><div class="wp-block-embed__wrapper">
<div class="tumblr-post" data-href="https://embed.tumblr.com/embed/post/t:d0KmrxJkElKB8EsGh2qW4w/701753040597893120/v2" data-did="d1634a93fa170ce37cbc8138e015adf0ff2ebdd5"  ><a href="https://www.tumblr.com/ajgutierr3z/701753040597893120/usando-la-funci%C3%B3n-info-de-pandas">https://www.tumblr.com/ajgutierr3z/701753040597893120/usando-la-funci%C3%B3n-info-de-pandas</a></div><script async src="https://assets.tumblr.com/post.js?_v=38df9a6ca7436e6ca1b851b0543b9f51"></script>
</div><figcaption class="wp-element-caption">Imagen 1. Uso de la función info de pandas. Fuente: tumblr.com</figcaption></figure>



<p>En la imagen 1 se puede apreciar que aparece en la terminal el número de indice, se observa una columna con el nombre <strong>column</strong> donde se indica los nombre de cada una de las columnas que tiene el df (dataframe) y una tercera columna donde se muestra los tipos de datos al que pertenece cada columna del df y finalmente muestra un resumen donde un resumen que indica cuantos columnas de que tipo de dato hay y que espacio esta ocupando en la memoria el df.</p>



<p>El código de ejemplo se encuentra aca en el <a href="https://github.com/ajgutierr3z/basic_pandas/tree/main/pandas_info" target="_blank" rel="noreferrer noopener">git</a></p>
<p>La entrada <a href="https://www.frexus.dev/articulo/dataframe/">Pandas y la info del dataframe</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/dataframe/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1604</post-id>	</item>
		<item>
		<title>Pandas y las primeras &#8211; últimos registros</title>
		<link>https://www.frexus.dev/articulo/pandas-y-las-primeras-ultimos-registros/</link>
					<comments>https://www.frexus.dev/articulo/pandas-y-las-primeras-ultimos-registros/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Wed, 23 Nov 2022 21:57:31 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[#Programacion]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[head]]></category>
		<category><![CDATA[lenguaje]]></category>
		<category><![CDATA[Pandas]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[tail]]></category>
		<guid isPermaLink="false">https://ajgutierrez.com.mx/?p=1593</guid>

					<description><![CDATA[<p>Cuando inicias a trabajar con pandas y empiezas a analizar los datos de los csv que se cargan se llega a requerir que se tenga que visualizar los primeros 10 o cinco registros, en su defecto los últimos 10 o cinco registros. Esto brinda una noción de los tipos de datos que puede contener un dataframe. La sintaxis que suele usarse para mostrar los primeros registros es la siguiente: La sintaxis para mostrar las últimas filas es la que se muestra a continuación: Usando head y tails Teniendo un dataframe donde solo se quieren visualizar los primeros cinco registros y los últimas cinco filas. Observe que en la imagen 1, se muestra a la derecha una hoja de calculo 25 registros que se cargaron en el dataframe, pero que al ejecutar la linea Muestra los primeros cinco registros que coinciden con los que se muestra en la hoja de calculo de la izquierda Ahora para mostrar los últimos cinco registros del dataframe se debe de ejecutar lo siguiente: Si se quisiera mostrar los primeros 10 o los últimos 15 solo habrá que cambiar el cinco por 10 y 15 respectivamente, sin olvidar que head es para los primeros y tail para los últimos. El código fuente de este ejercicio lo encuentras en el git</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/pandas-y-las-primeras-ultimos-registros/">Pandas y las primeras &#8211; últimos registros</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Cuando inicias a trabajar con pandas y empiezas a analizar los datos de los csv que se <a href="https://ajgutierrez.com.mx/2022/11/17/leyendo-archivos-con-pandas-en-python/">cargan</a> se llega a requerir que se tenga que visualizar los primeros 10 o cinco registros, en su defecto los últimos 10 o cinco registros. Esto brinda una noción de los tipos de datos que puede contener un dataframe. La sintaxis que suele usarse para mostrar los primeros registros es la siguiente:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
df.head(numero_registro)
</pre></div>


<p>La sintaxis para mostrar las últimas filas es la que se muestra a continuación:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
df.tail(numero_registro)
</pre></div>


<h2 class="wp-block-heading">Usando head y tails</h2>



<p>Teniendo un dataframe donde solo se quieren visualizar los primeros cinco registros y los últimas cinco filas. Observe que en la imagen 1, se muestra a la derecha una hoja de calculo 25 registros que se cargaron en el dataframe, pero que al ejecutar la linea</p>



<p>Muestra los primeros cinco registros que coinciden con los que se muestra en la hoja de calculo de la izquierda</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
df.head(5)
</pre></div>


<p>Ahora para mostrar los últimos cinco registros del dataframe se debe de ejecutar lo siguiente:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
df.tail(5)
</pre></div>


<figure class="wp-block-embed is-type-rich is-provider-tumblr wp-block-embed-tumblr"><div class="wp-block-embed__wrapper">
<div class="tumblr-post" data-href="https://embed.tumblr.com/embed/post/t:d0KmrxJkElKB8EsGh2qW4w/701740265839509504/v2" data-did="ff8427033b9fba3b43664da161251d2e9d6ef71c"  ><a href="https://www.tumblr.com/ajgutierr3z/701740265839509504/uso-de-tall-y-head-en-pandas">https://www.tumblr.com/ajgutierr3z/701740265839509504/uso-de-tall-y-head-en-pandas</a></div><script async src="https://assets.tumblr.com/post.js?_v=38df9a6ca7436e6ca1b851b0543b9f51"></script>
</div><figcaption class="wp-element-caption">Imagen 1. Usando tail y head de pandas. Fuente: tumblr.com</figcaption></figure>



<p>Si se quisiera mostrar los primeros 10 o los últimos 15 solo habrá que cambiar el cinco por 10 y 15 respectivamente, sin olvidar que <strong>head</strong> es para los primeros y <strong>tail</strong> para los últimos.</p>



<p>El código fuente de este ejercicio lo encuentras en el <a href="https://github.com/ajgutierr3z/basic_pandas/tree/main/head_tails" target="_blank" rel="noreferrer noopener">git</a></p>
<p>La entrada <a href="https://www.frexus.dev/articulo/pandas-y-las-primeras-ultimos-registros/">Pandas y las primeras &#8211; últimos registros</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/pandas-y-las-primeras-ultimos-registros/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1593</post-id>	</item>
		<item>
		<title>Pandas y los renombres</title>
		<link>https://www.frexus.dev/articulo/pandas-y-los-renombres/</link>
					<comments>https://www.frexus.dev/articulo/pandas-y-los-renombres/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Sat, 19 Nov 2022 14:17:00 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[cambiar nombre de columna]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[Pandas]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[rename]]></category>
		<guid isPermaLink="false">https://ajgutierrez.com.mx/?p=1570</guid>

					<description><![CDATA[<p>Bueno puede llegar a pasar que cuando se este leyendo un csv en pandas se quiera realizar algún renombre de alguna columna, y es posible hacerlo con la función rename. El uso más básico se muestra a continuación: No es necesario nombrar a todas las columnas solo a las que se le desea cambiar el nombre, es decir, si se tiene 10 columnas y solo se desea cambiar dos, solo se indica el nombre de la columna, seguido de dos puntos y el nombre nuevo para esa columna. La palabra inplace=True permite que esos cambios se vean reflejado en el dataframe en cuestión. Suponer que se tiene un dataframe con tres campos en donde tiene por nombre hora, instalados y registrados y se quiere cambiar solo el nombre de registrado a register. Para ello hay que hacer lo siguiente: En la imagen uno se pueden observar unas tres cosas: Notas: El código fuente de este ejercicio lo encuentras en el git</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/pandas-y-los-renombres/">Pandas y los renombres</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Bueno puede llegar a pasar que cuando se este leyendo un csv en pandas se quiera realizar algún renombre de alguna columna, y es posible hacerlo con la función rename. El uso más básico se muestra a continuación:  </p>



<p></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
df.rename(columns={'nombre_columna': 'nuevo_nombre_columna', 'nombre_columna2': 'nuevo_nombre_columna2'}, 
                 inplace=True)
</pre></div>


<p>No es necesario nombrar a todas las columnas solo a las que se le desea cambiar el nombre, es decir, si se tiene 10 columnas y solo se desea cambiar dos, solo se indica el nombre de la columna, seguido de dos puntos y el nombre nuevo para esa columna. La palabra <strong>inplace=True</strong> permite que esos cambios se vean reflejado en el dataframe en cuestión.</p>



<p>Suponer que se tiene un dataframe con tres campos en donde tiene por nombre <strong>hora, instalados y registrados</strong> y se quiere cambiar solo el nombre de <strong>registrado</strong> a <strong>register</strong>.  Para ello hay que hacer lo siguiente:</p>



<ol class="wp-block-list">
<li>Leer el csv. Mira <a href="https://ajgutierrez.com.mx/2022/11/17/leyendo-archivos-con-pandas-en-python/">aquí</a> para hacerlo.</li>



<li>Ejecutar la sintaxis presentada al inicio, quedaría algo así </li>
</ol>



<p></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
df.rename(columns= {'registrados': 'register'}, inplace=True
</pre></div>


<figure class="wp-block-embed is-type-rich is-provider-tumblr wp-block-embed-tumblr"><div class="wp-block-embed__wrapper">
<div class="tumblr-post" data-href="https://embed.tumblr.com/embed/post/t:d0KmrxJkElKB8EsGh2qW4w/701226883124264960/v2" data-did="6d41c94244d75ba648942175cd4bb6b072389e86"  ><a href="https://www.tumblr.com/ajgutierr3z/701226883124264960/cambiando-nombre-de-columna-de-un-dataframe-con">https://www.tumblr.com/ajgutierr3z/701226883124264960/cambiando-nombre-de-columna-de-un-dataframe-con</a></div><script async src="https://assets.tumblr.com/post.js?_v=38df9a6ca7436e6ca1b851b0543b9f51"></script>
</div><figcaption class="wp-element-caption">Imagen 1. Cambiar nombre de columna de un dataframe en pandas. Fuente: tumblr.com</figcaption></figure>



<p>En la imagen uno se pueden observar unas tres cosas:</p>



<ol class="wp-block-list">
<li>Las lineas de código que se usan para leer un csv y hacer el cambio de nombre de columna.</li>



<li>La forma en que se recibe el dataframe con el nombre del campo &#8216;registrados&#8217; (cuadro superior)</li>



<li>La forma en que se realiza la afectación al nombre de la columna del datagrama (cuadro inferior). Ya con el nombre &#8220;register&#8221;</li>
</ol>



<p>Notas:</p>



<ol class="wp-block-list">
<li>Hay que colocar el nombre de la columna que se quiere afectar exactamente cómo se encuentra. Es decir, puede que tenga un espacio en blanco y al ejecutar la función rename de pandas no se vea ningún efecto. O se tenga una letra de más que no se haya visto.</li>
</ol>



<p>El código fuente de este ejercicio lo encuentras en el <a href="https://github.com/ajgutierr3z/basic_pandas/tree/main/rename_columns" target="_blank" rel="noreferrer noopener">git</a></p>
<p>La entrada <a href="https://www.frexus.dev/articulo/pandas-y-los-renombres/">Pandas y los renombres</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/pandas-y-los-renombres/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1570</post-id>	</item>
		<item>
		<title>Leyendo archivos con pandas en python</title>
		<link>https://www.frexus.dev/articulo/leyendo-archivos-con-pandas-en-python/</link>
					<comments>https://www.frexus.dev/articulo/leyendo-archivos-con-pandas-en-python/#comments</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Thu, 17 Nov 2022 07:14:48 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[#Programacion]]></category>
		<category><![CDATA[ciencia de datos]]></category>
		<category><![CDATA[lenguaje]]></category>
		<category><![CDATA[Pandas]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://ajgutierrez.com.mx/?p=1551</guid>

					<description><![CDATA[<p>De la librería de pandas, se puede comentar que entre tantas cosas facilita muchas cosas entre ellas la lectura de archivos, es super fácil y puede abrir desde archivos csv hasta xls. No hay que olvidar la importación de la librería de pandas. La sintaxis es la siguientes: Bajo el supuesto de que se quiera leer un archivo con el nombre &#8220;pruebas.csv&#8221; usando pandas se haría de la siguiente forma: Con esas dos líneas se tendría el contenido del csv en la variable df. Si al momento de crear el archivo csv se le coloco el separador de la coma (,) o el puto y coma (;), quedaría algo como: En la imagen uno se puede observar el uso de una linea donde se incluye el nombre del archivo (hoja de calculo de la izquierda, en formato csv) y el valor de la variable df (a la derecha, a quien se le pasa el contenido del fichero csv) se tiene los mismos datos ahora ya con los valores en la variable df se puede hacer un buen de cosas. El código fuente de este ejercicio lo encuentras en el git</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/leyendo-archivos-con-pandas-en-python/">Leyendo archivos con pandas en python</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>De la librería de pandas, se puede comentar que entre tantas cosas facilita muchas cosas entre ellas la lectura de archivos, es super fácil y puede abrir desde archivos csv hasta xls. No hay que olvidar la importación de la librería de pandas. La sintaxis es la siguientes:</p>



<p></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
df = pd.read_csv(nombre_fichero)   
</pre></div>


<p>Bajo el supuesto de que se quiera leer un archivo con el nombre &#8220;pruebas.csv&#8221; usando pandas se haría de la siguiente forma:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
import pandas as pd
df = pd.read_csv(&quot;pruebas.csv&quot;)
</pre></div>


<p>Con esas dos líneas se tendría el contenido del csv en la variable df. Si al momento de crear el archivo csv se le coloco el separador de la coma (,) o el puto y coma (;), quedaría algo como:</p>



<p></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
import pandas as pd

df = pd.read_csv('pruebas.csv, sep=',')

df_2 = pd.read_csv('prueba.csv, sep=';')
</pre></div>


<figure class="wp-block-embed is-type-rich is-provider-tumblr wp-block-embed-tumblr"><div class="wp-block-embed__wrapper">
<div class="tumblr-post" data-href="https://embed.tumblr.com/embed/post/t:d0KmrxJkElKB8EsGh2qW4w/701119005083271168/v2" data-did="7e02f5e78d74a3a94476c00a6cf8c02de2b6615d"  ><a href="https://www.tumblr.com/ajgutierr3z/701119005083271168/leyendo-fichero-csv-con-pandas-en-python">https://www.tumblr.com/ajgutierr3z/701119005083271168/leyendo-fichero-csv-con-pandas-en-python</a></div><script async src="https://assets.tumblr.com/post.js?_v=38df9a6ca7436e6ca1b851b0543b9f51"></script>
</div><figcaption class="wp-element-caption">Imagen 1. Leer un fichero csv con pandas en python. Fuente: tumblr.com</figcaption></figure>



<p>En la imagen uno se puede observar el uso de una linea donde se incluye el nombre del archivo (hoja de calculo de la izquierda, en formato csv) y el valor de la variable df (a la derecha, a quien se le pasa el contenido del fichero csv) se tiene los mismos datos ahora ya con los valores en la variable df se puede hacer un buen de cosas.</p>



<p>El código fuente de este ejercicio lo encuentras en el <a href="https://github.com/ajgutierr3z/basic_pandas/tree/main/read_file_csv" target="_blank" rel="noreferrer noopener">git</a></p>
<p>La entrada <a href="https://www.frexus.dev/articulo/leyendo-archivos-con-pandas-en-python/">Leyendo archivos con pandas en python</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/leyendo-archivos-con-pandas-en-python/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1551</post-id>	</item>
		<item>
		<title>Python, los pandas y sus profiling</title>
		<link>https://www.frexus.dev/articulo/python-los-pandas-y-sus-profiling/</link>
					<comments>https://www.frexus.dev/articulo/python-los-pandas-y-sus-profiling/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Mon, 01 Aug 2022 22:34:07 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[Análisis]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Pandas]]></category>
		<category><![CDATA[Profiling]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://ajgutierrez.com.mx/?p=1338</guid>

					<description><![CDATA[<p>En el apartado de los análisis de datos, para su comprensión y entrega de reportes que permiten mapear un mejor entendimiento de los mismos, se topa uno con pandas_profiling ¿Qué es eso? Se debe de recordar que pandas es el nombre de una de las librerías usadas en python que permiten y facilitan la extracción de los datos. Profiling viene ha ser la forma en que se pueden mostrar todos esos resultados. (vea imagen 1). ¿Cómo se uso? Muy sencillo, bueno desde luego primero hay que instalar la librería y ya después hacer uso de ella. Para instalar panda_profiling has uso del siguiente comando: pip3 install pandas_profiling[notebook,html]. Después hay que crear un archivo donde se contenga las siguientes instrucciones: ¿Qué pasa en los import? Bien, como es costumbre, hay que incluir todas las librerías que se vayan a utilizar, eso es el numpy, pandas y el pandas_profiling. ¿Qué pasa con el read_csv? Lo que pasa es que se le asigna un nuevo parámetro donde permite hacer uso de los &#8220;;&#8221; (punto y comas) que regularmente traen los ficheros csv, también se puede hacer uso del parámetro delimiter=&#8221;;&#8221; el detalle es que en este caso solo lo delimitas hasta donde se encuentre los punto y comas. ¿Qué hace df.head()? Permite obtener el primer registro del fichero csv, donde se deben de colocar los campos a analizar. ¿Qué hace df.describe()? Permite hacer un análisis exploratorio muy básico de primera instancia. ¿Para qué sirve el profile=ProfileReport(df)? Prepara el reporte de todos los datos que hay en el dataframe que se ha pasado al inicio. ¿Qué hace profile.to_file(&#8220;Reporte.html&#8221;)? Esta parte de la función permite generar un fichero html, donde mostrará todos las correlaciones entre los campos y datos, así mismo, genera un buen de gráficas e histogramas donde se puede apreciar la aparición de los datos y campos, su interacción y como se puede mezclar. Conclusiones Al parecer tiene más ventajas, debido a que genera un fichero html, en el cual es fácil de transportar y compartir con los distintos clientes que requieran un análisis exploratorio más amplio de los datos y mejor uso de las herramientas que tiene, con el fin de aumentar su productividad y la de sus empleados. En lo particular es una herramienta genial para la generación y presentación rápida de informes o reportes. Permitiendo con un par de lineas de código en python y el dataset (el archivo csv con todos los datos) podan ser apreciados de una mejor manera. Mucho más fácil de manejar / presentar. Y se deja de lado la técnica milenaria de usar una hoja de calculo para su apreciación.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/python-los-pandas-y-sus-profiling/">Python, los pandas y sus profiling</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>En el apartado de los análisis de datos, para su comprensión y entrega de reportes que permiten mapear un mejor entendimiento de los mismos, se topa uno con pandas_profiling</p>



<h2 class="wp-block-heading">¿Qué es eso?</h2>



<p>Se debe de recordar que pandas es el nombre de una de las librerías usadas en python que permiten y facilitan la extracción de los datos. Profiling viene ha ser la forma en que se pueden mostrar todos esos resultados. (vea imagen 1).</p>



<figure class="wp-block-embed is-type-rich is-provider-tumblr wp-block-embed-tumblr"><div class="wp-block-embed__wrapper">
<div class="tumblr-post" data-href="https://embed.tumblr.com/embed/post/t:d0KmrxJkElKB8EsGh2qW4w/691417022856364032/v2" data-did="3e81adbe6e307dfc8679e7042bb218abdebe249d"  ><a href="https://www.tumblr.com/ajgutierr3z/691417022856364032/parte-del-reporte-generado-por-pandaprofiling">https://www.tumblr.com/ajgutierr3z/691417022856364032/parte-del-reporte-generado-por-pandaprofiling</a></div><script async src="https://assets.tumblr.com/post.js?_v=38df9a6ca7436e6ca1b851b0543b9f51"></script>
</div><figcaption class="wp-element-caption">Imagen 1. Encabezado y parte de un reporte generado en panda_profiling desde python. Fuente: Tomado de tumblr.com</figcaption></figure>



<h2 class="wp-block-heading">¿Cómo se uso?</h2>



<p>Muy sencillo, bueno desde luego primero hay que instalar la librería y ya después hacer uso de ella. </p>



<ol class="wp-block-list"><li>Para instalar panda_profiling  has uso del siguiente comando: <code>pip3 install pandas_profiling[notebook,html].</code></li><li>Después hay que crear un archivo donde se contenga las siguientes instrucciones:</li></ol>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
import numpy as np
from pandas_profiling import ProfileReport
import pandas as pd
df=pd.read_csv('fichero.csv',sep=';')
df.head()
df.describe()
profile=ProfileReport(df)
profile.to_file('Reporte.html')
</pre></div>


<h2 class="wp-block-heading">¿Qué pasa en los import?</h2>



<p>Bien, como es costumbre, hay que incluir todas las librerías que se vayan a utilizar, eso es el numpy, pandas y  el pandas_profiling.</p>



<h2 class="wp-block-heading">¿Qué pasa con el read_csv?</h2>



<p>Lo que pasa es que se le asigna un nuevo parámetro donde permite hacer uso de los &#8220;;&#8221; (punto y comas) que regularmente traen los ficheros csv, también se puede hacer uso del parámetro delimiter=&#8221;;&#8221; el detalle es que en este caso solo lo delimitas hasta donde se encuentre los punto y comas. </p>



<h2 class="wp-block-heading">¿Qué hace df.head()?</h2>



<p>Permite obtener el primer registro del fichero csv, donde se deben de colocar los campos a analizar.</p>



<h2 class="wp-block-heading">¿Qué hace df.describe()?</h2>



<p>Permite hacer un análisis exploratorio muy básico de primera instancia.</p>



<h2 class="wp-block-heading">¿Para qué sirve el profile=ProfileReport(df)?</h2>



<p>Prepara el reporte de todos los datos que hay en el dataframe que se ha pasado al inicio.</p>



<h2 class="wp-block-heading">¿Qué hace profile.to_file(&#8220;Reporte.html&#8221;)?</h2>



<p>Esta parte de la función permite generar un fichero html, donde mostrará todos las correlaciones entre los campos y datos, así mismo, genera un buen de gráficas e histogramas donde se puede apreciar la aparición de los datos y campos, su interacción y como se puede mezclar.</p>



<h2 class="wp-block-heading">Conclusiones</h2>



<p>Al parecer tiene más ventajas, debido a que genera un fichero html, en el cual es fácil de transportar y compartir con los distintos clientes que requieran un análisis exploratorio más amplio de los datos y mejor uso de las herramientas que tiene, con el fin de aumentar su productividad y la de sus empleados.</p>



<p>En lo particular es una herramienta genial para la generación y presentación rápida de informes o reportes. Permitiendo con un par de lineas de código en python y el dataset (el archivo csv con todos los datos) podan ser apreciados de una mejor manera. Mucho más fácil de manejar / presentar. Y se deja de lado la técnica milenaria de usar una hoja de calculo para su apreciación.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/python-los-pandas-y-sus-profiling/">Python, los pandas y sus profiling</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/python-los-pandas-y-sus-profiling/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1338</post-id>	</item>
		<item>
		<title>Shimoku &#124; Prueba de concepto</title>
		<link>https://www.frexus.dev/articulo/shimoku-prueba-de-concepto/</link>
					<comments>https://www.frexus.dev/articulo/shimoku-prueba-de-concepto/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Tue, 05 Jul 2022 23:06:36 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[numpy]]></category>
		<category><![CDATA[Pandas]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Shimoku]]></category>
		<guid isPermaLink="false">https://ajgutierrez.com.mx/?p=1149</guid>

					<description><![CDATA[<p>En la actualidad la forma en que se presentan los datos y con la rapidez que se requiere hace necesario la creación de librerías shimoku, permite hacer este salto. Es decir, con el dataframe (los datos) se pueden expresar en gráfica de todo tipo, de barras, pastel, histogramas y demás. Preparación del ambiente Para poder agilizar las cosas, es de cierta manera necesario hacer uso de panda una librería escrita para la extracción y análisis de datos. O al menos para esta prueba de concepto se utilizo, también hay que instalar la librería shimoku, desde una terminal ejecutando los siguientes comandos: Nota: es importante que la versión de python sea superior a la tres. Preferentemente la 3.9.x La línea sudo apt install python-pip permite instalar las herramientas para hacer más fácil la instalación de librerías de python. La línea pip install pandas, es la librería para la extracción y análisis de datos. la línea pip install shimoku-api-python, permite instalar la biblioteca, de shimoku. Importando las librerías Las siguientes líneas de código en python permiten la importación de las librerías necesarias, se puede observar que se utiliza shimoku_api_python y se le asigna un alias Shimoku. Lo mismo para pandas con su alias pd, numpy con el alias np. Cabe aclarar que numpy se instala por defecto con la instalación de pandas. Cargando Datos En las siguientes líneas de código se puede observar que se hace uso de la función de lectura de un archivo de panda este fichero contiene los datos para la prueba, se calcula los valores mínimos y máximos, se convierten a string para posteriormente mostrarlo como indicadores. Variables de ambiente para shimoku En las líneas anteriores se encuentran las variables que se requiere para que se autentique y se envíen los datos a la API de shimoku. Configuración Se observa en las siguientes líneas se muestra la configuración de la comunicación del cliente con shimoku. También se nota el uso de un par de las variables configuradas anteriormente. Creando una gráfica Se observa que con las líneas anteriores se genera una gráfica de barra, los datos se obtiene de la variable df, que se cargo con el dataframe, del archivo que se leyó con panda. Se debe de notar que en el eje de las equis, se colocara las horas y en el eje de la (y) los valores mínimos y máximos que se tengan de los servicios instalados o registrados. El menu_path, se refiere a la ubicación donde se encontrará la gráfica o el reporte en cuestión; esta variable fue declarada mas arriba. El valor de order, depende de la posición que se vayan a colocar los elementos (gráficas, indicadores, mas gráficas, html, entre otros.) En el title, va a colocarse el título de la gráfica. Cargando el html Para esta prueba de concepto, se quiere hacer uso del html, esto es de la variable que html, donde con el siguiente código se le envía o carga a shimoku. Se debe de observar que, se colocará en el mismo menu_path, lo diferente aquí es que el order, ya esta en la posición 1, que indica que se colocará después de la gráfica. rows_size, indica en que posición de las filas comenzará, lo mismo para cols_size, solo que esté indica las columnas. Creando indicadores La siguientes líneas de código muestran la creación de cuatros indicadores, a los que corresponde los máximos y mínimos servicios instalados, así como los registrados. Para todos los casos se le asigno un color, un título, una alineación y un valor, el cual se calculo con la función min y max de panda. Cargando indicadores En las posteriores líneas de código se muestra la manera en que se cargan o envían los datos de los indicadores a shimoku. Si todo sale bien se habrá creado un reporte en el que se incluye una gráfica de barras interactiva, una descripción de la gráfica en html y cuatro indicadores en diferentes colores. Finales Este es el código completo donde se realiza un reporte sencillo, observe la imagen 1 es como se visualiza los datos. Es importante aclarar que las credenciales hay que solicitarla mediante la página shimoku.io. Los archivos originales se encuentran en el github se puede acceder desde aqui El código fue generado con el manual de shimoku, se puede acceder desde aquí</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/shimoku-prueba-de-concepto/">Shimoku | Prueba de concepto</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>En la actualidad la forma en que se presentan los datos y con la rapidez que se requiere hace necesario la creación de librerías <strong>shimoku</strong>, permite hacer este salto. Es decir, con el dataframe (los datos) se pueden expresar en gráfica de todo tipo, de barras, pastel, histogramas y demás.</p>



<h2 class="wp-block-heading">Preparación del ambiente</h2>



<p>Para poder agilizar las cosas, es de cierta manera necesario hacer uso de panda una librería escrita para la extracción y análisis de datos. O al menos para esta prueba de concepto se utilizo, también hay que instalar la librería shimoku, desde una terminal ejecutando los siguientes comandos:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
sudo apt install python-pip
pip install pandas
pip install shimoku-api-python
</pre></div>


<p><strong>Nota:</strong> es importante que la versión de python sea superior a la tres. Preferentemente la 3.9.x</p>



<p>La línea <strong>sudo apt install python-pip</strong> permite instalar las herramientas para hacer más fácil la instalación de librerías de python.</p>



<p>La línea <strong>pip install pandas</strong>, es la librería para la extracción y análisis de datos.</p>



<p>la línea <strong>pip install shimoku-api-python</strong>, permite instalar la biblioteca, de shimoku.</p>



<h2 class="wp-block-heading">Importando las librerías</h2>



<p>Las siguientes líneas de código en python permiten la importación de las librerías necesarias, se puede observar que se utiliza <strong>shimoku_api_python</strong> y se le asigna un alias <strong>Shimoku</strong>. Lo mismo para <strong>pandas</strong> con su alias <strong>pd</strong>, <strong>numpy</strong> con el alias <strong>np</strong>. Cabe aclarar que numpy se instala por defecto con la instalación de pandas.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
from os import getenv
from typing import Dict, List
import shimoku_api_python as Shimoku
import pandas as pd
import numpy as np
</pre></div>


<h2 class="wp-block-heading">Cargando Datos</h2>



<p>En las siguientes líneas de código se puede observar que se hace uso de la función de lectura de un archivo de panda este fichero contiene los datos para la prueba, se calcula los valores mínimos y máximos, se convierten a string para posteriormente mostrarlo como indicadores.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
df = pd.DataFrame = pd.read_csv('datos.csv') #cargando datos del archivo
print('cargando datos df') #avisando en la terminal
valorMaximo=df.max() #calculando el máximo
valorMinimo=df.min() #calculando el mínimo
imax= str(valorMaximo&#x5B;1]) #convirtiendo a string los valores máximos y mínimos de las 
rmax= str(valorMaximo&#x5B;2]) #columnas instalado y registrado.
imin= str(valorMinimo&#x5B;1])
rmin= str(valorMinimo&#x5B;2])
</pre></div>


<h2 class="wp-block-heading">Variables de ambiente para shimoku</h2>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
html=(
      &quot;&lt;p style='background-color: '#daf4f0';&gt;&quot;
      &quot;&lt;b&gt;Descripcion&lt;/b&gt;: Esta grafico permite mostrar los picos de &quot;
      &quot;instalaciones y registros, realizados durante un dia de trabajo.&lt;/p&gt;&quot;
     )
env='prod'
menu_path=&quot;PruebaConcepto/Reporte&quot;
acces_token  = getenv(env,'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
universe_id: str = getenv(env,'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
business_id: str = getenv(env,'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
</pre></div>


<p>En las líneas anteriores se encuentran las variables que se requiere para que se autentique y se envíen los datos a la API de shimoku.</p>



<h2 class="wp-block-heading">Configuración</h2>



<p>Se observa en las siguientes líneas se muestra la configuración de la comunicación del cliente con shimoku. También se nota el uso de un par de las variables configuradas anteriormente.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
shimoku = Shimoku.Client(
    config={'access_token': acces_token},
    universe_id = universe_id,
    environment='production',
)
</pre></div>


<h2 class="wp-block-heading">Creando una gráfica</h2>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
shimoku.plt.set_business(business_id)
report: Dict = shimoku.plt.bar(
    df,x='hora', y=&#x5B;'instalado','registrados'],
    menu_path=menu_path,
    order=0,
    title='Instalaciones y Registros',
)
</pre></div>


<p>Se observa que con las líneas anteriores se genera una gráfica de barra, los datos se obtiene de la variable <strong>df</strong>, que se cargo con el <strong>dataframe</strong>, del archivo que se leyó con panda. Se debe de notar que en el eje de las equis, se colocara las horas y en el eje de la (y) los valores mínimos y máximos que se tengan de los servicios instalados o registrados. El<strong> menu_path</strong>, se refiere a la ubicación donde se encontrará la gráfica o el reporte en cuestión; esta variable fue declarada mas arriba. El valor de <strong>order</strong>, depende de la posición que se vayan a colocar los elementos (gráficas, indicadores, mas gráficas, html, entre otros.) En el <strong>title</strong>, va a colocarse el título de la gráfica.  </p>



<h2 class="wp-block-heading">Cargando el html</h2>



<p>Para esta prueba de concepto, se quiere hacer uso del html, esto es de la variable que <strong>html</strong>, donde con el siguiente código se le envía o carga a shimoku. Se debe de observar que, se colocará en el mismo <strong>menu_path</strong>, lo diferente aquí es que el <strong>order</strong>, ya esta en la posición 1, que indica que se colocará después de la gráfica. <strong>rows_size</strong>, indica en que posición de las filas comenzará, lo mismo para <strong>cols_size</strong>, solo que esté indica las columnas.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
shimoku.plt.html(
    html=html,
    menu_path=menu_path,
    order=1, rows_size=2, cols_size=12,
)
</pre></div>


<h2 class="wp-block-heading">Creando indicadores</h2>



<p>La siguientes líneas de código muestran la creación de cuatros indicadores, a los que corresponde los máximos y mínimos servicios instalados, así como los registrados. Para todos los casos se le asigno un color, un título, una alineación y un valor, el cual se calculo con la función min y max de panda.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
data_=&#x5B;
    {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Max.Instalado&quot;,
       &quot;value&quot;:imax,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;red&quot;,
    },
   {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Max.Registrado&quot;,
       &quot;value&quot;:rmax,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;success&quot;,
   },
   {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Min.Instalado&quot;,
       &quot;value&quot;:imin,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;blue&quot;,
   },
   {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Min.Registrado&quot;,
       &quot;value&quot;:rmin,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;orange&quot;,
   },
]
</pre></div>


<h2 class="wp-block-heading">Cargando indicadores</h2>



<p>En las posteriores líneas de código se muestra la manera en que se cargan o envían los datos de los indicadores a shimoku. Si todo sale bien se habrá creado un reporte en el que se incluye una <strong>gráfica</strong> de barras interactiva, una descripción de la gráfica en <strong>html</strong> y cuatro <strong>indicadores</strong> en diferentes colores.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
shimoku.plt.indicator(
    data=data_,
    menu_path=menu_path,
    order=2,
    rows_size=2, cols_size=12,
    value='value',
    header=&quot;title&quot;,
    footer='description',
    align='align',
    color='color',
)
</pre></div>


<h2 class="wp-block-heading">Finales</h2>



<p>Este es el código completo donde se realiza un reporte sencillo, observe la imagen 1 es como se visualiza los datos. Es importante aclarar que las credenciales hay que solicitarla mediante la página shimoku.io. Los archivos originales se encuentran en el github se puede acceder desde <a href="https://github.com/ajgutierr3z/shimoku" target="_blank" rel="noreferrer noopener">aqui</a></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: python; title: ; notranslate">
from os import getenv
from typing import Dict, List
import shimoku_api_python as Shimoku
import pandas as pd
import numpy as np
df = pd.DataFrame = pd.read_csv('datos.csv')
print('cargando datos df')
valorMaximo=df.max()
valorMinimo=df.min()
imax= str(valorMaximo&#x5B;1])
rmax= str(valorMaximo&#x5B;2])
imin= str(valorMinimo&#x5B;1])
rmin= str(valorMinimo&#x5B;2])
# codigo shimoku
html=(
      &quot;&lt;p style='background-color: '#daf4f0';&gt;&quot;
      &quot;&lt;b&gt;Descripcion&lt;/b&gt;: Esta grafico permite mostrar los picos de &quot;
      &quot;instalaciones y registros, realizados durante un dia de trabajo.&lt;/p&gt;&quot;
     )
env='prod'
menu_path=&quot;PruebaConcepto/Reporte&quot;
acces_token  = getenv(env,'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
universe_id: str = getenv(env,'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
business_id: str = getenv(env,'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
print('Entornos creados')
shimoku = Shimoku.Client(
    config={'access_token': acces_token},
    universe_id = universe_id,
    environment='production',
)
print('Cliente configurado')
shimoku.plt.set_business(business_id)
report: Dict = shimoku.plt.bar(
    df,x='hora', y=&#x5B;'instalado','registrados'],
    menu_path=menu_path,
    order=0,
    title='Instalaciones y Registros',
)
print ('Grafica generada')
shimoku.plt.html(
    html=html,
    menu_path=menu_path,
    order=1, rows_size=2, cols_size=12,
)
print ('Html generado')
data_=&#x5B;
    {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Max.Instalado&quot;,
       &quot;value&quot;:imax,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;red&quot;,
    },
   {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Max.Registrado&quot;,
       &quot;value&quot;:rmax,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;success&quot;,
   },
   {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Min.Instalado&quot;,
       &quot;value&quot;:imin,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;blue&quot;,
   },
   {
       &quot;description&quot;:&quot;&quot;,
       &quot;title&quot;:&quot;Min.Registrado&quot;,
       &quot;value&quot;:rmin,
       &quot;align&quot;:&quot;center&quot;,
       &quot;color&quot;:&quot;orange&quot;,
   },
]
print ('cargando indicadores')
shimoku.plt.indicator(
    data=data_,
    menu_path=menu_path,
    order=2,
    rows_size=2, cols_size=12,
    value='value',
    header=&quot;title&quot;,
    footer='description',
    align='align',
    color='color',
)
print ('DataWebApp creada')

</pre></div>


<p></p>



<figure class="wp-block-image size-large"><img decoding="async" width="2880" height="1662" src="https://www.frexus.dev/wp-content/uploads/2022/07/shimoku.png?w=1024" alt="" class="wp-image-1165" srcset="https://www.frexus.dev/wp-content/uploads/2022/07/shimoku.png 2880w, https://www.frexus.dev/wp-content/uploads/2022/07/shimoku-300x173.png 300w, https://www.frexus.dev/wp-content/uploads/2022/07/shimoku-1024x591.png 1024w, https://www.frexus.dev/wp-content/uploads/2022/07/shimoku-768x443.png 768w, https://www.frexus.dev/wp-content/uploads/2022/07/shimoku-1536x886.png 1536w, https://www.frexus.dev/wp-content/uploads/2022/07/shimoku-2048x1182.png 2048w" sizes="(max-width: 2880px) 100vw, 2880px" /><figcaption>Imagen 1. Reporte generado en shimoku. Fuente: Captura tomada de shimoku.io</figcaption></figure>



<p>El código fue generado con el manual de shimoku, se puede acceder desde <a href="https://docs.shimoku.com/development/" target="_blank" rel="noreferrer noopener">aquí</a></p>
<p>La entrada <a href="https://www.frexus.dev/articulo/shimoku-prueba-de-concepto/">Shimoku | Prueba de concepto</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/shimoku-prueba-de-concepto/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1149</post-id>	</item>
	</channel>
</rss>
