Colección de citas famosas - Slogan de motivación - 5. Algunas cosas prácticas: df = marco de datos

5. Algunas cosas prácticas: df = marco de datos

En el Capítulo 3, hablamos de matrices y vectores, que sólo pueden contener ciertos tipos de datos, pero en aplicaciones prácticas, esto rara vez es así.

Cuando realizamos encuestas de datos, los informes de la encuesta generalmente no solo contienen datos numéricos o datos de caracteres, sino varios tipos de datos (los datos del directorio deben codificarse al realizar el análisis, lo cual se explicará en Python en el artículo Fundamentos del Análisis). Por lo tanto, necesitamos un nuevo tipo de contenedor: el marco de datos.

Algunas personas traducen marco de datos en marco de datos, lo cual es inexacto, especialmente considerando la diferencia entre la definición de "marco" y el significado de marco de datos. Algunas personas lo tradujeron literalmente a un marco de datos. Creo que es un poco superfluo y complica algo que no es difícil de entender.

Este capítulo habla principalmente de:

De hecho, es muy simple. Un ejemplo puede ilustrarlo: el informe final de estadísticas de los maestros de secundaria es generalmente una tabla de Excel. contiene el siguiente contenido:

En la práctica, normalmente leemos una tabla de Excel o un archivo csv y asignamos el archivo a una variable (df o datos). Posteriormente, podemos manipular el archivo por nombre de variable. Cabe señalar que cada fila de df representa un objeto de observación diferente y cada columna representa un atributo o variable. En la transcripción, cada estudiante es un individuo observado y las puntuaciones de cada materia representan diferentes atributos utilizados para describir las características del objeto observado.

A continuación, utilizaré el conjunto de datos integrado mtcars (prueba de carretera de automóviles de tendencia de motor) en lenguaje R para demostrarlo.

Primero, abra RStudio y use la función data() para cargar el conjunto de datos:

A través de las primeras 5 filas de datos, podemos ver que cada fila representa un modelo de automóvil diferente. y las columnas representan cada una de las diferentes características de cada modelo de automóvil, como cilindrada, caballos de fuerza, número de cilindros, etc.

Por lo general, después de obtener un conjunto de datos, necesitamos conocer su estructura, como un * * *, cuántas filas hay, qué columnas hay, los nombres de las columnas y el tipo de datos de cada columna. Para ver la estructura de df, necesita la función str().

El resultado muestra que mtcars * * * tiene 32 filas (observaciones) y 11 columnas (variables).

El símbolo $ va seguido del nombre de la columna, un ***11. Todos los tipos de datos en mtcars son números.

El conjunto de datos integrado se utilizó antes. A continuación, puedes crear uno tú mismo usando data.frame(), llenando los corchetes con diferentes vectores. Estos vectores deben contener la misma cantidad de elementos.

*Al crear df, preste atención a distinguir las diferentes sintaxis de R y Python.

Tomando los ocho planetas del sistema solar como ejemplo, cree un df, incluyendo el nombre y tipo del planeta (planeta rocoso o planeta gigante gaseoso), la relación relativa al diámetro de la Tierra, la relación relativa al período de revolución de la Tierra y si hay anillos (no solo Saturno tiene anillos).

Al observar el df que creamos, no es difícil encontrar que cada vector es cada columna del df. (Existe un uso similar en Python, que consiste en crear df a través del diccionario. Consulte el tutorial de Python).

De manera similar a las matrices y los vectores, podemos seleccionar filas y/o columnas específicas de df. Usando paréntesis, complete las filas que desea seleccionar a la izquierda de la coma y las columnas a la derecha. Este uso duplica la selección de elementos de la matriz anterior y, por lo tanto, se omite aquí.

La siguiente es otra forma de seleccionar una columna específica usando solo el nombre de la columna:

df$colname

El resultado de salida es un vector, el tipo de los elementos del vector se pueden verificar mediante la función class().

Además, si queremos seleccionar planetas con anillos, podemos hacer lo siguiente:

Como puedes ver, hemos filtrado los que tienen un valor TRUE en el campo " Columna "Anillos" Todas las filas.

Entonces, ¿podemos buscar planetas sin anillos?

El método es muy sencillo, ¡sólo añade uno entre paréntesis!

*Nota: Las columnas compuestas de valores lógicos se suelen utilizar para filtrar filas que cumplen criterios específicos. Si no existe ninguna columna formada por valores lógicos, podemos establecer nosotros mismos un criterio de filtrado mediante operadores lógicos.

Intentemos ahora descubrir qué factores influyen en que un planeta tenga anillos o no.

Comparando estos dos resultados, podemos encontrar que los planetas rocosos del sistema solar no tienen anillos, mientras que los planetas gigantes gaseosos sí los tienen. Por tanto, podemos especular que el factor que afecta si un planeta tiene anillos es el tipo de planeta. Por supuesto, esto es sólo una suposición. Para verificar si esta hipótesis es cierta en la Vía Láctea o incluso en el volumen del Hubble, necesitamos más datos para probarla. Esta parte requiere comprender algunas estadísticas, que se mencionarán más adelante.

El último paso es en realidad crear un subconjunto de nuestro conjunto de datos y filtrar algunos datos que no requieren I. Ahora presentaremos una forma más eficiente y versátil:

Con En el segundo argumento, podemos elegir en función de "ciertas condiciones". Las condiciones aquí cubren un amplio rango y ya no se limitan a valores lógicos.

*Nota: El "signo igual único" aquí representa la asignación y el "signo igual doble" representa el juicio lógico.

Ahora intenta usar datos numéricos como filtro para seleccionar planetas con un diámetro mayor que la Tierra:

La función Order() se usa para ordenar:

*Nota: disminuir de forma predeterminada es falso, lo que significa que si este argumento no se completa, la función order() ordenará en orden ascendente.