<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Centro Turing</title>
    <description>The latest articles on DEV Community by Centro Turing (@centroturing).</description>
    <link>https://dev.to/centroturing</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1085754%2F4b0cfac6-474d-450f-892f-66fb3af185bb.png</url>
      <title>DEV Community: Centro Turing</title>
      <link>https://dev.to/centroturing</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/centroturing"/>
    <language>en</language>
    <item>
      <title>¿Qué es la programación estructurada?</title>
      <dc:creator>Centro Turing</dc:creator>
      <pubDate>Fri, 15 Sep 2023 17:25:29 +0000</pubDate>
      <link>https://dev.to/centroturing/que-es-la-programacion-estructurada-6ba</link>
      <guid>https://dev.to/centroturing/que-es-la-programacion-estructurada-6ba</guid>
      <description>&lt;h1&gt;
  
  
  Programación Estructurada: Fundamentos y Beneficios
&lt;/h1&gt;

&lt;p&gt;La programación es un arte que implica transformar ideas en código funcional. Una de las metodologías más influyentes en este proceso es la &lt;strong&gt;programación estructurada&lt;/strong&gt;, que se ha convertido en un pilar fundamental en el mundo de la informática. En esta publicación, exploraremos los fundamentos y beneficios de la programación estructurada.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Qué es la Programación Estructurada?
&lt;/h2&gt;

&lt;p&gt;La programación estructurada es un paradigma de programación que se basa en la idea de dividir un programa en pequeñas unidades lógicas llamadas estructuras de control. Estas estructuras incluyen secuencias, bucles y selecciones. A través de la programación estructurada, se busca crear un código claro, fácil de entender y mantener.&lt;/p&gt;

&lt;h2&gt;
  
  
  Principios de la Programación Estructurada:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Secuencia:&lt;/strong&gt; Los programas se ejecutan en un orden específico, de arriba a abajo. Esto asegura que las instrucciones se ejecuten en el momento adecuado y en la secuencia correcta.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bucles:&lt;/strong&gt; Se utilizan bucles para repetir acciones hasta que se cumpla una condición. Esto ahorra tiempo y evita la repetición de código.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Selecciones:&lt;/strong&gt; Las estructuras de selección permiten que el programa tome decisiones basadas en condiciones específicas. Esto es esencial para la lógica y la toma de decisiones en el código.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Beneficios de la Programación Estructurada:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Legibilidad:&lt;/strong&gt; El código estructurado es más legible para los desarrolladores, lo que facilita la comprensión y el mantenimiento.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mantenibilidad:&lt;/strong&gt; Debido a su organización lógica, los cambios y las actualizaciones son más sencillos de implementar sin afectar otras partes del programa.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Depuración:&lt;/strong&gt; Identificar y corregir errores es más fácil en el código estructurado, ya que las estructuras lógicas simplifican la búsqueda de problemas.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Eficiencia:&lt;/strong&gt; La programación estructurada puede resultar en programas más eficientes en términos de consumo de recursos y velocidad de ejecución.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusión:
&lt;/h2&gt;

&lt;p&gt;La programación estructurada es una metodología esencial para cualquier programador, incluidos aquellos que se dedican a la ciencia de datos, como nuestros alumnos que estudian negocios y finanzas. Al adoptar los principios de la programación estructurada, se pueden crear aplicaciones más sólidas y fáciles de mantener, lo que es crucial en un entorno empresarial cada vez más dependiente de la tecnología.&lt;/p&gt;

&lt;p&gt;En resumen, la programación estructurada es un enfoque valioso que mejora la calidad y la eficiencia del código, algo que todos los desarrolladores, incluidos los que trabajan en el campo de la ciencia de datos, deben considerar en su proceso de aprendizaje y desarrollo profesional.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Optimización del proceso de análisis de datos mediante la limpieza de datos con Pandas y NumPy</title>
      <dc:creator>Centro Turing</dc:creator>
      <pubDate>Mon, 05 Jun 2023 20:54:24 +0000</pubDate>
      <link>https://dev.to/centroturing/optimizacion-del-proceso-de-analisis-de-datos-mediante-la-limpieza-de-datos-con-pandas-y-numpy-4i64</link>
      <guid>https://dev.to/centroturing/optimizacion-del-proceso-de-analisis-de-datos-mediante-la-limpieza-de-datos-con-pandas-y-numpy-4i64</guid>
      <description>&lt;h1&gt;
  
  
  Optimización del proceso de análisis de datos mediante la limpieza de datos con Pandas y NumPy
&lt;/h1&gt;

&lt;p&gt;La limpieza de datos es una etapa crucial y a menudo subestimada en el proceso de análisis de datos. Los datos sucios o incorrectos pueden llevar a conclusiones erróneas y decisiones de negocio mal informadas. Pandas y NumPy son dos bibliotecas de Python extremadamente potentes que nos permiten manejar, limpiar y transformar datos de manera eficiente.&lt;/p&gt;

&lt;h2&gt;
  
  
  Instalación de las bibliotecas Pandas y NumPy
&lt;/h2&gt;

&lt;p&gt;El primer paso para trabajar con Pandas y NumPy es instalar estas bibliotecas. Para hacerlo, puedes utilizar pip, que es el sistema de gestión de paquetes utilizado por Python. Aquí tienes el comando que necesitarás para instalar ambas bibliotecas:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Importación de Pandas y NumPy a tu entorno de trabajo
&lt;/h2&gt;

&lt;p&gt;Una vez instaladas, debes importar las bibliotecas Pandas y NumPy en tu script de Python. Por convención, importamos Pandas como &lt;code&gt;pd&lt;/code&gt; y NumPy como &lt;code&gt;np&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Carga de los datos
&lt;/h2&gt;

&lt;p&gt;Para demostrar el proceso de limpieza de datos, necesitaremos un conjunto de datos para trabajar. Vamos a utilizar el conjunto de datos 'train.csv' del concurso Titanic de Kaggle.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;train.csv&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este comando cargará los datos del archivo 'train.csv' en un DataFrame de Pandas, que es una estructura de datos bidimensional etiquetada con filas y columnas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspección inicial de los datos
&lt;/h2&gt;

&lt;p&gt;Una vez que los datos están cargados en el DataFrame, es útil echar un vistazo a los primeros registros para obtener una idea general de los datos con los que estamos trabajando.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;head&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;También es útil obtener un resumen estadístico de los datos. Podemos utilizar el método &lt;code&gt;describe()&lt;/code&gt; para obtener información como el conteo, la media, la desviación estándar, los valores mínimo y máximo, y los cuartiles de las columnas numéricas.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;describe&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Manejo de los valores perdidos
&lt;/h2&gt;

&lt;p&gt;Uno de los problemas más comunes que encontrarás al trabajar con conjuntos de datos del mundo real es la presencia de valores perdidos. Podemos utilizar el método &lt;code&gt;isnull()&lt;/code&gt; combinado con &lt;code&gt;sum()&lt;/code&gt; para obtener una lista de las columnas y la cantidad de valores perdidos que tienen.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isnull&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Una vez que sabemos dónde están nuestros valores perdidos, podemos decidir cómo manejarlos. Existen varias estrategias para esto, y la elección depende de la naturaleza de tus datos y de tu objetivo de análisis.&lt;/p&gt;

&lt;h3&gt;
  
  
  Eliminar registros con valores perdidos
&lt;/h3&gt;

&lt;p&gt;Una opción es simplemente eliminar cualquier fila que contenga al menos un valor perdido. Esto se puede hacer con el método &lt;code&gt;dropna()&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dropna&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Llenar valores perdidos con un valor determinado
&lt;/h3&gt;

&lt;p&gt;Otra opción es rellenar los valores perdidos con algún valor. Una estrategia común es rellenar con la mediana de la columna, que es menos sensible a los outliers que la media.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fillna&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;median&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conversión de tipos de datos
&lt;/h2&gt;

&lt;p&gt;Otro paso común en la limpieza de datos es la conversión de tipos de datos. Por ejemplo, puede que quieras convertir la columna 'Survived', que actualmente es una variable numérica, en una variable booleana. Para hacerlo, puedes usar el método &lt;code&gt;astype()&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Survived&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Survived&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;astype&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;bool&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Eliminación de columnas innecesarias
&lt;/h2&gt;

&lt;p&gt;Es posible que tu conjunto de datos contenga columnas que no son necesarias para tu análisis. En tal caso, puedes optar por eliminar estas columnas. Por ejemplo, podríamos querer eliminar la columna 'Cabin' si decidimos que no es relevante para nuestro análisis.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;drop&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;columns&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Cabin&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Detección y manejo de outliers
&lt;/h2&gt;

&lt;p&gt;Los outliers son valores que son significativamente diferentes de los demás. Estos pueden sesgar o distorsionar los resultados y pueden ser debido a variabilidad en los datos o errores de entrada. Un método común para detectar outliers es el método del rango intercuartílico (IQR).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;Q1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;quantile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.25&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Q3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;quantile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.75&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;IQR&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Q3&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;Q1&lt;/span&gt;
&lt;span class="n"&gt;outliers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Q1&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mf"&gt;1.5&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;IQR&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Q3&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mf"&gt;1.5&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;IQR&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Una vez que hemos detectado los outliers, podríamos querer eliminarlos de nuestro conjunto de datos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="n"&gt;outliers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;any&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;axis&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;¡Felicidades! Ahora tienes un sólido punto de partida para limpiar tus propios conjuntos de datos con pandas y NumPy. Recuerda que los pasos exactos y las técnicas utilizadas en la limpieza de datos pueden variar dependiendo de la naturaleza de tus datos y de tu objetivo de análisis. No dudes en explorar más técnicas de limpieza de datos para expandir tu conjunto de herramientas.&lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
      <category>tutorial</category>
      <category>spanish</category>
    </item>
    <item>
      <title>Creación y personalización de gráficos estadísticos con Seaborn</title>
      <dc:creator>Centro Turing</dc:creator>
      <pubDate>Mon, 05 Jun 2023 20:45:34 +0000</pubDate>
      <link>https://dev.to/centroturing/creacion-y-personalizacion-de-graficos-estadisticos-con-seaborn-4653</link>
      <guid>https://dev.to/centroturing/creacion-y-personalizacion-de-graficos-estadisticos-con-seaborn-4653</guid>
      <description>&lt;h1&gt;
  
  
  Creación y personalización de gráficos estadísticos con Seaborn
&lt;/h1&gt;

&lt;p&gt;Seaborn es una potente biblioteca de visualización de datos en Python, construida sobre matplotlib. Ofrece una interfaz de alto nivel diseñada para crear gráficos estadísticos visualmente atractivos e informativos, simplificando el proceso de creación de gráficos complejos y permitiendo al usuario enfocarse en la interpretación de los datos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Instalación de la biblioteca Seaborn
&lt;/h2&gt;

&lt;p&gt;El primer paso para trabajar con Seaborn es instalar la biblioteca. Para ello, puedes utilizar pip, que es el instalador de paquetes de Python. En tu terminal o línea de comando, simplemente escribe:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;seaborn&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este comando descargará e instalará Seaborn y todas las dependencias necesarias.&lt;/p&gt;

&lt;h2&gt;
  
  
  Importación de Seaborn a tu script
&lt;/h2&gt;

&lt;p&gt;Una vez que Seaborn está instalado en tu ambiente de Python, debes importarlo a tu script para empezar a utilizarlo. Por convención, Seaborn se importa como 'sns':&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;seaborn&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;sns&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Carga de un conjunto de datos con Seaborn
&lt;/h2&gt;

&lt;p&gt;Antes de crear cualquier tipo de gráfico, necesitamos un conjunto de datos para visualizar. Seaborn viene con algunos conjuntos de datos incorporados para facilitar la práctica de la visualización de datos. En este caso, vamos a utilizar el conjunto de datos 'iris', que contiene mediciones de diferentes características de varias especies de la flor iris:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;load_dataset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;iris&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Creación de gráficos de dispersión
&lt;/h2&gt;

&lt;p&gt;Un gráfico de dispersión es una visualización que muestra la relación entre dos variables numéricas, con cada punto de datos representado como un punto en el gráfico. En Seaborn, podemos utilizar el método &lt;code&gt;scatterplot()&lt;/code&gt; para crear gráficos de dispersión:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;scatterplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;sepal_length&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;sepal_width&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hue&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;species&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En este ejemplo, los ejes x e y representan la longitud y el ancho del sépalo de las flores de iris, respectivamente, mientras que los colores representan diferentes especies de iris.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creación de histogramas
&lt;/h2&gt;

&lt;p&gt;Un histograma es un gráfico que muestra la distribución de un conjunto de datos numéricos mediante barras. La altura de cada barra representa la frecuencia de cada intervalo de valores. En Seaborn, utilizamos el método &lt;code&gt;histplot()&lt;/code&gt; para crear histogramas:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;histplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;sepal_length&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;kde&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En este caso, el histograma muestra la distribución de la longitud del sépalo. La opción 'kde' añade una estimación de la densidad de kernel al histograma, que es una suave curva que se ajusta a la distribución de los datos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creación de gráficos de caja (Box plots)
&lt;/h2&gt;

&lt;p&gt;Un gráfico de caja es una manera eficiente de visualizar la distribución de los datos a través de sus cuartiles. Muestra el valor mínimo, el primer cuartil (Q1), la mediana (Q2), el tercer cuartil (Q3) y el valor máximo dentro de un rango. Los gráficos de caja también pueden mostrar valores atípicos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;boxplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;species&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;sepal_length&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En este ejemplo, estamos mostrando la&lt;/p&gt;

&lt;p&gt;distribución de la longitud del sépalo para cada especie de iris.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creación de gráficos de violín
&lt;/h2&gt;

&lt;p&gt;Los gráficos de violín combinan la información de un gráfico de caja con un gráfico de densidad de kernel. Esto nos da una visión más detallada de la distribución de los datos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;violinplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;species&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;sepal_length&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;De nuevo, estamos mostrando la distribución de la longitud del sépalo para cada especie de iris, pero esta vez utilizando un gráfico de violín.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creación de gráficos de pares (Pair plots)
&lt;/h2&gt;

&lt;p&gt;Los gráficos de pares son una gran herramienta para explorar visualmente las relaciones entre múltiples variables en un conjunto de datos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pairplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hue&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;species&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este gráfico crea una matriz de diagramas de dispersión, mostrando la relación entre cada par de variables en el conjunto de datos. Además, los histogramas en la diagonal permiten visualizar la distribución de una sola variable.&lt;/p&gt;

&lt;p&gt;¡Felicidades! Ahora tienes una buena introducción sobre cómo crear y personalizar gráficos estadísticos con Seaborn. La visualización de datos es una habilidad esencial en el campo de la ciencia de datos y te recomendamos seguir explorando y experimentando con Seaborn y otras bibliotecas de visualización en Python.&lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
      <category>español</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Manipulación y análisis de DataFrames con Pandas</title>
      <dc:creator>Centro Turing</dc:creator>
      <pubDate>Mon, 05 Jun 2023 20:42:15 +0000</pubDate>
      <link>https://dev.to/centroturing/manipulacion-y-analisis-de-dataframes-con-pandas-1dgj</link>
      <guid>https://dev.to/centroturing/manipulacion-y-analisis-de-dataframes-con-pandas-1dgj</guid>
      <description>&lt;h1&gt;
  
  
  Manipulación y análisis de DataFrames con Pandas
&lt;/h1&gt;

&lt;p&gt;Los DataFrames son una estructura de datos bidimensional en la biblioteca de Pandas, similar a una hoja de cálculo de Excel o una tabla SQL. Son extremadamente flexibles, ya que permiten almacenar y manipular datos de diferentes tipos (enteros, flotantes, strings, etc.) y también pueden cambiar de tamaño, lo que permite agregar y eliminar filas o columnas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configuración e instalación de Pandas y Seaborn
&lt;/h2&gt;

&lt;p&gt;Pandas es la principal biblioteca que usaremos para manipular nuestros DataFrames. Seaborn, por otro lado, es una biblioteca de visualización de datos basada en Matplotlib que proporciona una interfaz de alto nivel para crear gráficos estadísticos atractivos.&lt;/p&gt;

&lt;p&gt;Para instalar pandas y seaborn, debemos utilizar pip, el sistema de gestión de paquetes de Python. Puedes hacerlo ejecutando el siguiente comando en tu terminal o en la línea de comandos de tu entorno de desarrollo integrado (IDE):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="n"&gt;seaborn&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Importación de Pandas y Seaborn a tu script
&lt;/h2&gt;

&lt;p&gt;Una vez que se han instalado ambas bibliotecas, debemos importarlas en nuestro script de Python para poder utilizar sus funciones y métodos. Por convención, pandas se importa como 'pd' y seaborn como 'sns':&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;seaborn&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;sns&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Carga de un DataFrame predefinido
&lt;/h2&gt;

&lt;p&gt;Seaborn viene con algunos conjuntos de datos predefinidos para ayudar a los usuarios a practicar la manipulación de datos y la creación de gráficos. Uno de estos conjuntos de datos es 'iris', que contiene información sobre varias características de las flores de iris. Para cargar este conjunto de datos en un DataFrame de pandas, utilizamos el método &lt;code&gt;load_dataset()&lt;/code&gt; de seaborn:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;load_dataset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;iris&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para echar un vistazo rápido a las primeras líneas de nuestro DataFrame, utilizamos el método &lt;code&gt;head()&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;head&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Inspección de DataFrames
&lt;/h2&gt;

&lt;p&gt;Es crucial familiarizarse con nuestros datos antes de comenzar a manipularlos o analizarlos. Pandas proporciona varias formas de inspeccionar un DataFrame.&lt;/p&gt;

&lt;h3&gt;
  
  
  Forma de un DataFrame
&lt;/h3&gt;

&lt;p&gt;La propiedad &lt;code&gt;shape&lt;/code&gt; nos da una tupla que representa la cantidad de filas y columnas en el DataFrame:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Nombres de las columnas
&lt;/h3&gt;

&lt;p&gt;La propiedad &lt;code&gt;columns&lt;/code&gt; nos proporciona una lista con los nombres de todas las columnas en el DataFrame:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;columns&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Tipos de datos
&lt;/h3&gt;

&lt;p&gt;La propiedad &lt;code&gt;dtypes&lt;/code&gt; nos muestra el tipo de datos almacenados en cada columna:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dtypes&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Resumen estadístico
&lt;/h3&gt;

&lt;p&gt;El método &lt;code&gt;describe()&lt;/code&gt; nos proporciona un resumen estadístico del DataFrame, que incluye la media, la desviación estándar, los valores mínimos y máximos, y los percentiles de cada columna numérica:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;describe&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Selección de datos
&lt;/h2&gt;

&lt;p&gt;Pandas ofrece varias formas de seleccionar datos específicos dentro de un DataFrame.&lt;/p&gt;

&lt;h3&gt;
  
  
  Selección de columnas
&lt;/h3&gt;

&lt;p&gt;Podemos seleccionar una columna específica utilizando su nombre:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;species&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Selección de filas
&lt;/h3&gt;

&lt;p&gt;También podemos seleccionar un rango de filas utilizando índices de inicio y fin:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O podemos seleccionar filas que cumplan con una condición específica:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;sepal_length&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mf"&gt;5.0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Modificación de DataFrames
&lt;/h2&gt;

&lt;p&gt;Los DataFrames de pandas son mutables, lo que significa que podemos modificarlos agregando nuevas columnas o cambiando los valores existentes.&lt;/p&gt;

&lt;p&gt;Por ejemplo, podemos agregar una nueva columna que contenga el doble de la longitud del sépalo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;double_sepal_length&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;sepal_length&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;También podemos cambiar los valores en una columna que cumplan con una cierta condición. En este caso, vamos a cambiar todas las instancias de 'setosa' en la columna 'species' por 'SETOSA':&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;loc&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;species&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;setosa&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;species&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;SETOSA&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Ejemplo Práctico
&lt;/h2&gt;

&lt;p&gt;Para ilustrar algunas de estas operaciones, vamos a agregar una columna a nuestro DataFrame que indique si la longitud del sépalo de cada flor es superior a la media de todas las longitudes del sépalo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;sepal_length_above_average&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;sepal_length&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;sepal_length&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esto es solo una breve introducción a cómo trabajar con DataFrames en pandas. Recuerda que esta biblioteca es extremadamente poderosa y versátil, y ofrece muchas más funcionalidades que las que hemos cubierto aquí. Te animo a que sigas explorando y practicando para convertirte en un experto en la manipulación de datos con pandas. ¡Buena suerte!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Manipulación de archivos JSON con Pandas</title>
      <dc:creator>Centro Turing</dc:creator>
      <pubDate>Mon, 05 Jun 2023 20:37:46 +0000</pubDate>
      <link>https://dev.to/centroturing/manipulacion-de-archivos-json-con-pandas-3b4n</link>
      <guid>https://dev.to/centroturing/manipulacion-de-archivos-json-con-pandas-3b4n</guid>
      <description>&lt;h1&gt;
  
  
  Manipulación de archivos JSON con Pandas
&lt;/h1&gt;

&lt;p&gt;Pandas es una biblioteca de Python especialmente diseñada para facilitar la manipulación y el análisis de datos. Es una herramienta esencial para cualquier científico de datos o analista de datos que trabaje con Python. Una de las características más útiles de Pandas es su capacidad para interactuar con una variedad de formatos de datos, incluyendo JSON (JavaScript Object Notation), que es un formato de intercambio de datos comúnmente utilizado en la web.&lt;/p&gt;

&lt;h2&gt;
  
  
  Instalando Pandas
&lt;/h2&gt;

&lt;p&gt;La instalación de pandas es una tarea sencilla gracias a pip, el sistema de gestión de paquetes de Python. Para instalar pandas, simplemente necesitas ejecutar el siguiente comando en tu terminal o prompt de comandos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este comando se encargará de instalar pandas junto con todas sus dependencias necesarias.&lt;/p&gt;

&lt;h2&gt;
  
  
  Importando Pandas a tu script
&lt;/h2&gt;

&lt;p&gt;Después de la instalación, debes importar pandas a tu script de Python para poder utilizar sus características. Por convención, pandas se suele importar como 'pd', lo que permite acceder a sus métodos de manera más concisa:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para el caso práctico que vamos a tratar, también necesitaremos la biblioteca &lt;code&gt;requests&lt;/code&gt; de Python, que nos permite hacer peticiones HTTP. Puedes importarla de la siguiente manera:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Leyendo archivos JSON con Pandas
&lt;/h2&gt;

&lt;p&gt;Pandas proporciona la función &lt;code&gt;read_json()&lt;/code&gt; para leer datos de archivos JSON y convertirlos en un DataFrame, que es la principal estructura de datos en pandas. Aquí está un ejemplo de cómo hacerlo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read_json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;data.json&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En este ejemplo, 'data.json' es el nombre del archivo JSON que queremos leer. La función &lt;code&gt;read_json()&lt;/code&gt; devuelve un DataFrame que se guarda en la variable df.&lt;/p&gt;

&lt;p&gt;Para obtener una vista rápida de los datos, puedes usar el método &lt;code&gt;head()&lt;/code&gt;, que muestra las primeras 5 filas del DataFrame:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;head&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Escribiendo DataFrames en archivos JSON
&lt;/h2&gt;

&lt;p&gt;Además de leer archivos JSON, pandas también puede escribir DataFrames en archivos JSON con el método &lt;code&gt;to_json()&lt;/code&gt;. Aquí tienes un ejemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;new_data.json&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En este caso, 'new_data.json' es el nombre del nuevo archivo JSON que queremos crear.&lt;/p&gt;

&lt;h2&gt;
  
  
  Aplicación Práctica: Interactuando con APIs JSON
&lt;/h2&gt;

&lt;p&gt;Para demostrar cómo trabajar con archivos JSON en pandas, vamos a obtener algunos datos en formato JSON de una API en línea llamada JSONPlaceholder.&lt;/p&gt;

&lt;p&gt;Primero, haremos una petición GET a la API con la biblioteca &lt;code&gt;requests&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;https://jsonplaceholder.typicode.com/posts&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Luego, convertiremos estos datos JSON en un DataFrame de pandas:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para inspeccionar nuestros datos, utilizaremos de nuevo el método &lt;code&gt;head()&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;head&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ahora, supongamos que queremos agregar una columna que indique si la longitud del título de cada post es mayor que la media de todas las longitudes de título. Podemos hacerlo con la siguiente línea de código:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Titulo_Largo&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;title&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;apply&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;title&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;apply&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;

&lt;span class="p"&gt;)).&lt;/span&gt;&lt;span class="nf"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finalmente, vamos a guardar este DataFrame con la nueva columna en un nuevo archivo JSON:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;posts_con_titulo_largo.json&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Y ahí lo tienes: ahora sabes cómo leer y escribir archivos JSON con pandas, así como cómo interactuar con APIs JSON. Pero recuerda, estas son solo las operaciones básicas que puedes realizar con pandas. Esta potente biblioteca ofrece muchas otras funcionalidades que te ayudarán a manipular y analizar tus datos de manera efectiva. ¡Sigue explorando!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Lectura y escritura de archivos CSV con Pandas</title>
      <dc:creator>Centro Turing</dc:creator>
      <pubDate>Mon, 05 Jun 2023 20:33:50 +0000</pubDate>
      <link>https://dev.to/centroturing/lectura-y-escritura-de-archivos-csv-con-pandas-5ggp</link>
      <guid>https://dev.to/centroturing/lectura-y-escritura-de-archivos-csv-con-pandas-5ggp</guid>
      <description>&lt;h1&gt;
  
  
  Lectura y escritura de archivos CSV con Pandas
&lt;/h1&gt;

&lt;p&gt;Pandas es una biblioteca de Python especialmente diseñada para el análisis de datos. Proporciona estructuras de datos y funciones potentes, y fáciles de usar, para manipular y analizar datos estructurados. Uno de los aspectos más útiles de Pandas es su capacidad para leer y escribir datos en una variedad de formatos de archivos, incluyendo archivos CSV (Comma Separated Values).&lt;/p&gt;

&lt;h2&gt;
  
  
  Instalando Pandas
&lt;/h2&gt;

&lt;p&gt;La instalación de pandas es sencilla gracias a pip, el gestor de paquetes de Python. Ejecuta el siguiente comando en tu terminal para instalar pandas:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este comando instala pandas y sus dependencias, preparando tu entorno de Python para trabajar con esta útil biblioteca.&lt;/p&gt;

&lt;h2&gt;
  
  
  Importando Pandas en tu script
&lt;/h2&gt;

&lt;p&gt;Después de la instalación, necesitas importar pandas en tu script de Python para poder utilizar sus características. La convención común es importar pandas con el alias 'pd', lo que facilita el acceso a sus métodos y reduce la cantidad de código que tienes que escribir.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Leyendo archivos CSV con Pandas
&lt;/h2&gt;

&lt;p&gt;La lectura de archivos CSV es un caso común en el análisis de datos. Pandas proporciona la función &lt;code&gt;read_csv()&lt;/code&gt; para cargar datos desde archivos CSV en un DataFrame, que es la estructura de datos principal en Pandas y es muy similar a una tabla en una base de datos relacional.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;test.csv&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En este ejemplo, 'test.csv' es el nombre del archivo que queremos cargar. La función &lt;code&gt;read_csv()&lt;/code&gt; devuelve un DataFrame que se asigna a la variable df.&lt;/p&gt;

&lt;p&gt;Una vez que tienes tus datos en un DataFrame, puedes usar el método &lt;code&gt;head()&lt;/code&gt; para obtener una vista rápida de las primeras filas de tus datos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;head&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Escribiendo DataFrames en archivos CSV
&lt;/h2&gt;

&lt;p&gt;No sólo puedes leer archivos CSV con Pandas, sino que también puedes escribir DataFrames en archivos CSV. Para hacer esto, puedes usar el método &lt;code&gt;to_csv()&lt;/code&gt; de un DataFrame.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;new_test.csv&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En este caso, 'new_test.csv' es el nombre del nuevo archivo CSV que queremos crear. El parámetro &lt;code&gt;index=False&lt;/code&gt; se utiliza para evitar que pandas escriba los índices del DataFrame en el archivo, lo que podría ser innecesario si los índices son sólo números secuenciales predeterminados.&lt;/p&gt;

&lt;h2&gt;
  
  
  Aplicación Práctica
&lt;/h2&gt;

&lt;p&gt;Para ilustrar cómo utilizar estas características de Pandas en un contexto práctico, supongamos que tienes el archivo &lt;code&gt;test.csv&lt;/code&gt; que es parte del dataset del Titanic de Kaggle. Este archivo contiene datos de los pasajeros del Titanic, como la edad, el sexo, la tarifa pagada, entre otros.&lt;/p&gt;

&lt;p&gt;Primero, podemos cargar estos datos en un DataFrame de Pandas utilizando &lt;code&gt;read_csv()&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;titanic_df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;test.csv&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Después de cargar los datos, puedes usar &lt;code&gt;head()&lt;/code&gt; para obtener una vista rápida de los datos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;titanic_df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;head&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Imagina que quieres agregar una nueva columna al DataFrame que indique si la tarifa pagada por cada pasajero es superior a la media de todas las tarifas. Puedes hacer esto fácilmente con Pandas:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;titanic_df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Tar

ifa_Superior_Media&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;titanic_df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Fare&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;titanic_df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Fare&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finalmente, puedes guardar el DataFrame con la nueva columna en un nuevo archivo CSV utilizando el método &lt;code&gt;to_csv()&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;titanic_df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;titanic_tarifa_superior_media.csv&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;¡Y eso es todo! Con estos conceptos y prácticas básicas, ya estás bien equipado para manejar archivos CSV con pandas. Sin embargo, recuerda que pandas tiene muchas más funcionalidades y capacidades útiles para el análisis y la manipulación de datos. ¡Continúa explorando y aprendiendo!&lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Exploración de conjuntos de datos con Pandas</title>
      <dc:creator>Centro Turing</dc:creator>
      <pubDate>Mon, 05 Jun 2023 20:30:22 +0000</pubDate>
      <link>https://dev.to/centroturing/exploracion-de-conjuntos-de-datos-con-pandas-1ddb</link>
      <guid>https://dev.to/centroturing/exploracion-de-conjuntos-de-datos-con-pandas-1ddb</guid>
      <description>&lt;h1&gt;
  
  
  Exploración de conjuntos de datos con Pandas
&lt;/h1&gt;

&lt;p&gt;Pandas es una potente biblioteca de Python, imprescindible para cualquier científico de datos o analista, que permite la manipulación y análisis de datos de manera eficiente y fácil. Con Pandas, se pueden realizar tareas como la manipulación de datos, la limpieza de datos, el análisis exploratorio de datos y mucho más. En este artículo, exploraremos con mayor detalle cómo podemos explorar nuestros conjuntos de datos utilizando Pandas, explicando con profundidad y ejemplos prácticos sus funciones y características.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cómo instalar Pandas
&lt;/h2&gt;

&lt;p&gt;Para poder usar Pandas, primero es necesario instalarlo. La instalación es un proceso sencillo que se puede hacer utilizando pip, el administrador de paquetes de Python. Aquí está el comando que se debe ejecutar en la terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Este comando solicita a pip que descargue e instale el paquete pandas desde el repositorio de paquetes de Python, PyPI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cómo importar Pandas
&lt;/h2&gt;

&lt;p&gt;Una vez que Pandas esté instalado, es necesario importarlo en tu script de Python para poder usarlo. Por convención, Pandas se importa con el alias &lt;code&gt;pd&lt;/code&gt;, que permite un acceso más rápido a sus funciones y métodos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Creación de un DataFrame
&lt;/h2&gt;

&lt;p&gt;Pandas puede trabajar con datos de diversas fuentes y formatos como CSV, Excel, SQL, entre otros. Pero para simplificar, en este ejemplo crearemos un DataFrame, que es una estructura de datos bidimensional de Pandas similar a una hoja de cálculo, a partir de un diccionario de Python.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;frutas&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;manzanas&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;naranjas&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;plátanos&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;kiwis&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;cantidad&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aquí, &lt;code&gt;data&lt;/code&gt; es un diccionario que contiene dos listas, 'frutas' y 'cantidad', que actúan como columnas en nuestro DataFrame. El DataFrame resultante &lt;code&gt;df&lt;/code&gt; tendrá estas columnas y filas que corresponden a los elementos de las listas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Exploración y visualización de los datos
&lt;/h2&gt;

&lt;p&gt;Pandas ofrece múltiples formas de inspeccionar y entender nuestros datos. Veamos algunas de las más comunes.&lt;/p&gt;

&lt;h3&gt;
  
  
  head()
&lt;/h3&gt;

&lt;p&gt;El método &lt;code&gt;head()&lt;/code&gt; nos permite obtener un vistazo rápido a los datos mostrando las primeras N filas de nuestro DataFrame. Por defecto, N es 5, pero puedes pasar un número entero para especificar la cantidad de filas que deseas ver.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;head&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  tail()
&lt;/h3&gt;

&lt;p&gt;De forma similar, el método &lt;code&gt;tail()&lt;/code&gt; nos muestra las últimas N filas de nuestro DataFrame. Por defecto, N es 5, pero también se puede especificar una cantidad diferente.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;tail&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  shape
&lt;/h3&gt;

&lt;p&gt;La propiedad &lt;code&gt;shape&lt;/code&gt; es muy útil para obtener una idea rápida del tamaño de nuestros datos. Nos devuelve una tupla con la cantidad de filas y columnas de nuestro DataFrame.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;shape&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  columns
&lt;/h3&gt;

&lt;p&gt;La propiedad &lt;code&gt;columns&lt;/code&gt; nos devuelve un objeto Index que contiene los nombres de las columnas del DataFrame.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;columns&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  dtypes
&lt;/h3&gt;

&lt;p&gt;El método &lt;code&gt;dtypes&lt;/code&gt; es esencial para entender el tipo de datos que tenemos en cada columna, nos devuelve una serie con el&lt;/p&gt;

&lt;p&gt;tipo de datos de cada columna.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dtypes&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Selección de datos
&lt;/h2&gt;

&lt;p&gt;Pandas nos ofrece una gran flexibilidad a la hora de seleccionar ciertos datos para nuestro análisis.&lt;/p&gt;

&lt;h3&gt;
  
  
  Selección de Columnas
&lt;/h3&gt;

&lt;p&gt;Podemos seleccionar una columna específica de un DataFrame utilizando su nombre. Por ejemplo, si queremos seleccionar solo la columna 'frutas', usaríamos el siguiente código:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;frutas&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Selección de Filas
&lt;/h3&gt;

&lt;p&gt;Pandas también nos permite seleccionar filas específicas. Podemos hacerlo por índice o utilizando una condición. &lt;/p&gt;

&lt;p&gt;Seleccionar filas por índice:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Seleccionar filas que cumplan con cierta condición:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;cantidad&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Resumen de los Datos
&lt;/h2&gt;

&lt;p&gt;Pandas tiene métodos incorporados que nos ayudan a obtener una comprensión general y estadísticas resumidas de nuestros datos.&lt;/p&gt;

&lt;h3&gt;
  
  
  describe()
&lt;/h3&gt;

&lt;p&gt;El método &lt;code&gt;describe()&lt;/code&gt; proporciona un resumen estadístico de todas las columnas numéricas en el DataFrame. Incluye estadísticas como la media, el mínimo, el máximo, la desviación estándar y los percentiles.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;describe&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  value_counts()
&lt;/h3&gt;

&lt;p&gt;El método &lt;code&gt;value_counts()&lt;/code&gt; es útil para contar la frecuencia de los valores únicos en una columna. Esto es especialmente útil cuando se trabaja con datos categóricos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;frutas&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;value_counts&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Manejo de Datos Faltantes
&lt;/h2&gt;

&lt;p&gt;En el mundo real, los conjuntos de datos suelen tener datos faltantes. Afortunadamente, Pandas ofrece una serie de potentes herramientas para tratar con estos casos.&lt;/p&gt;

&lt;h3&gt;
  
  
  isnull()
&lt;/h3&gt;

&lt;p&gt;El método &lt;code&gt;isnull()&lt;/code&gt; retorna una DataFrame del mismo tamaño que el original pero donde los valores son True si el valor original es nulo y False si no lo es.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isnull&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  dropna()
&lt;/h3&gt;

&lt;p&gt;El método &lt;code&gt;dropna()&lt;/code&gt; elimina las filas o columnas con valores nulos de un DataFrame.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dropna&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  fillna()
&lt;/h3&gt;

&lt;p&gt;El método &lt;code&gt;fillna()&lt;/code&gt; nos permite reemplazar los valores nulos con un valor especificado. Esto puede ser útil en muchos escenarios, por ejemplo, podría ser útil reemplazar los valores nulos con la media de la columna o con un valor constante.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fillna&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En resumen, esta es una introducción detallada pero no exhaustiva a la exploración de conjuntos de datos utilizando la biblioteca pandas de Python. Pandas es una herramienta poderosa con muchas más funciones y capacidades. Te animo a seguir explorando y aprendiendo más sobre esta excelente biblioteca.&lt;/p&gt;

</description>
      <category>python</category>
      <category>pandas</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Uso del Algoritmo KNeighborsClassifier para Clasificar las Especies del Conjunto de Datos Iris</title>
      <dc:creator>Centro Turing</dc:creator>
      <pubDate>Fri, 19 May 2023 15:06:58 +0000</pubDate>
      <link>https://dev.to/centroturing/uso-del-algoritmo-kneighborsclassifier-para-clasificar-las-especies-del-conjunto-de-datos-iris-4c40</link>
      <guid>https://dev.to/centroturing/uso-del-algoritmo-kneighborsclassifier-para-clasificar-las-especies-del-conjunto-de-datos-iris-4c40</guid>
      <description>&lt;p&gt;El conjunto de datos Iris, ampliamente conocido en el ámbito de aprendizaje automático, comprende cuatro características de 150 flores iris de tres especies distintas. En este artículo, explicaremos cómo usar el algoritmo KNeighborsClassifier, de la biblioteca Scikit-Learn, para clasificar estas especies.&lt;/p&gt;

&lt;h3&gt;
  
  
  Paso 1: Importar las bibliotecas necesarias
&lt;/h3&gt;

&lt;p&gt;Antes de comenzar, necesitamos importar las bibliotecas necesarias de Python.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;datasets&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.model_selection&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;train_test_split&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.preprocessing&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;StandardScaler&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.neighbors&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;KNeighborsClassifier&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;sklearn.metrics&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;accuracy_score&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Paso 2: Cargar y explorar los datos
&lt;/h3&gt;

&lt;p&gt;Cargamos el conjunto de datos Iris y observamos las características y etiquetas.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;iris&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;datasets&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;load_iris&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# características
&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;iris&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;

&lt;span class="c1"&gt;# etiquetas
&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;iris&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;target&lt;/span&gt;

&lt;span class="c1"&gt;# imprimir las características y etiquetas para verificar
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt;&lt;span class="p"&gt;[:&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;[:&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Paso 3: Preparación de los datos
&lt;/h3&gt;

&lt;p&gt;Nuestro siguiente paso es dividir los datos en conjuntos de entrenamiento y prueba.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;X_train&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;X_test&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_train&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_test&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;train_test_split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;test_size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;random_state&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Asegúrate de estandarizar los datos. Es importante porque el algoritmo KNeighborsClassifier se basa en la distancia euclidiana, que es sensible a la escala de las características.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;scaler&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;StandardScaler&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;X_train&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;scaler&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fit_transform&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X_train&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;X_test&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;scaler&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X_test&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Paso 4: Entrenar el modelo
&lt;/h3&gt;

&lt;p&gt;Ahora, vamos a inicializar y entrenar nuestro modelo KNeighborsClassifier.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# inicializar el clasificador con 3 vecinos
&lt;/span&gt;&lt;span class="n"&gt;knn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;KNeighborsClassifier&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n_neighbors&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# ajustar los datos de entrenamiento
&lt;/span&gt;&lt;span class="n"&gt;knn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;fit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X_train&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_train&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Paso 5: Hacer predicciones
&lt;/h3&gt;

&lt;p&gt;Una vez que el modelo está entrenado, podemos usarlo para hacer predicciones.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;y_pred&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;knn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;predict&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;X_test&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Paso 6: Evaluar el modelo
&lt;/h3&gt;

&lt;p&gt;Finalmente, evaluamos la precisión del modelo comparando las etiquetas predichas con las etiquetas reales.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;accuracy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;accuracy_score&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y_test&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y_pred&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Precisión del modelo:&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;accuracy&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si la precisión del modelo es alta, entonces hemos hecho un buen trabajo al clasificar las especies de flores Iris utilizando el algoritmo KNeighborsClassifier. Puedes experimentar con diferentes números de vecinos (el parámetro &lt;code&gt;n_neighbors&lt;/code&gt; en &lt;code&gt;KNeighborsClassifier&lt;/code&gt;) para ver si puedes mejorar la precisión del modelo.&lt;/p&gt;

&lt;p&gt;Este es un ejemplo sencillo de cómo se puede utilizar el algoritmo KNeighborsClassifier para clasificar las especies de Iris en el conjunto de datos Iris de Scikit-Learn. Asegúrate de entender cada paso y no dudes en explorar más sobre cómo mejorar tu modelo.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>python</category>
      <category>machinelearning</category>
      <category>scikitlearn</category>
    </item>
  </channel>
</rss>
