¿Cómo aprender el análisis de datos de Python?

Todo el proceso de los conceptos básicos de análisis de datos de Python es el siguiente (adecuado para principiantes, transferencias de trabajo, sin conceptos básicos de programación, enseñanza directa, sin enlaces adicionales)

1. Aprendizaje

Para el módulo de análisis de datos, no se requiere todo el contenido de aprendizaje de python (lo mismo es cierto para SQL), es decir, no necesita aprender tanto como un programador, y también necesita saber que la parte que promueve la aplicación es conocimiento estadístico. Necesita saber sobre regresión. para implementarlo en python

La mayor parte del contenido requiere Baidu adicional y aprendizaje para completarse, pero básicamente es gratis

Los principales marcos de aprendizaje incluyen:

1. Lenguaje de programación básico (entrada y salida, bucle, etc.)

2. Uso de bibliotecas relacionadas con el análisis de datos (numpy, pandas, matplotlib)

3. Aplicación de la teoría estadística y análisis de casos reales

En el flujo de trabajo, python es una herramienta. Su función principal es importar [datos al software] en el caso de [datos existentes], [escribir lógica para obtener resultados de análisis] y finalmente [visualizar en gráficos y resultados de conclusión]

Para ser claros: Python es solo una herramienta para la sucesión lógica. Aprenderlo no significa aprender lógica. Es equivalente a tener una espada sin habilidades con la espada, pero las habilidades con la espada y las habilidades con la espada son indispensables.

2. Conceptos básicos del lenguaje de programación

Los fundamentos del lenguaje de programación es un curso obligatorio para los estudiantes de primer año. Los estudiantes que no tienen especialización en ciencias e ingeniería pueden no estar expuestos a él (especialmente contabilidad, negocios). Es importante aprender [pensamiento programático] y considerar la computadora como un programa riguroso. [ejecutor, herramienta y trabajador] Use oraciones de pensamiento lógico y déjelo expresar sus pensamientos a través de la interfaz interactiva.

1. Entrada y salida

El más básico, cuando imprime en la interfaz interactiva, el sistema generará lo que ingresa

Si dices una palabra, él dirá una palabra. Lo que tú digas, él lo dirá.

>>>imprimir(1) 

1    

>>> imprimir("Hola mundo") 

Hola Mundo      

>>> un = 1  

>>> b = 'runoob'  

>>> imprimir(a,b) 

1runob

Si tiene mucho que decir, como un documento con una gran cantidad de datos almacenados, entonces necesita preparar archivos de Excel, CSV y Txt, y luego usar una función como read_csv y read_table para importar estos documentos.

datos = pd.read_csv('ruta del archivo/resultado.csv',sep=',') 

>>>imprimir(datos) 

tu archivo esta en python

2. Formato de datos

Para las computadoras, todas las [entradas] deben clasificarse. Los números no son solo números, sino enteros; los caracteres chinos e ingleses son cadenas; y un paso más cerca, tipos de listas, tipos de mapas y tipos de tuplas.

Diferentes tipos satisfacen diferentes necesidades, métodos de cálculo, etc.

Resumen de tipos de datos:

Números : Int() enteros, float() decimales, bool() tipos booleanos, complex() números complejos

Cadena (str): incluye: texto, símbolos, letras, caracteres especiales, etc.

Las comillas simples , las comillas dobles, las comillas simples triples y las comillas dobles triples son cadenas

Impresión de varias líneas : saltos de línea al generar elementos

Impresión de una sola línea : salida en la misma línea

Lista : con formato de corchetes, elementos separados por comas, los elementos pueden ser números, caracteres u otros tipos de datos

Por ejemplo: [(1, 2), 'tres', 'd', {'y': 0}]

Tupla : formato de semiparéntesis, los elementos pueden ser números, caracteres u otros tipos de datos

Por ejemplo: ([1, 2], 'tres', 'd', {'y': 0})

Diccionario : los elementos de formato de corchete se corresponden entre sí, la función de consulta, la clave {clave: valor} debe ser un tipo inmutable, y el valor puede ser cualquier tipo de datos (entero, cadena, lista, tupla, diccionario), incluido iterable objetos Los tipos inmutables son: cadena, tupla.

Por ejemplo: {'a': 1, 'b': 2}

Los diferentes tipos tienen diferentes reglas, así como sabes que 1 puede ser + 2 pero no + Weihe, solo el mismo tipo puede operar entre sí.

3. Definir variables

En esta etapa, puede definir algunas variables usted mismo (tenga en cuenta el tipo de datos)

>>>nombre = 'Weihe'

>>>imprimir(nombre)

>>>printt('tipo',tipo(nombre))

>>>printt('valor',nombre)

Resultado de salida: Weihe

escriba <clase 'str'>

valor Weihe

Es necesario definir muchas variables en el trabajo, como dejar a = 0, dejar a = [], dejar que sean iguales a una matriz vacía, utilizada para calcular, hacer bucles, almacenar varios números y resultados

4. Operadores aritméticos

Aquí está la lógica más básica. En él, ya puede ingresar variables, definir variables y variables de salida. El enlace ya está bien. Ahora es lo anterior: necesita agregarle lógica.

Por ejemplo, el lado comercial presenta una demanda para usted: quiero el pedido de hoy + el pedido de ayer

imagen

5,

La palabra función se aprendió en la escuela secundaria, ingrese una x es igual a una y. Incluyendo la primera impresión, incluidos los operadores aritméticos de los que estamos hablando, hay una función detrás del código fuente, y llamar a la función directamente es la lógica detrás de la llamada.

Por ejemplo, aprendimos anteriormente la función len(), a través de la cual podemos obtener directamente la longitud de una cadena. También podríamos imaginar, si no hay una función len(), ¿cómo obtener la longitud de una cadena?

n=0 

para c en "http://www.nowcoder.com/link/pc_kol_bzwh":    

norte = norte + 1 

imprimir(n)>>>33

La esencia de una función es una pieza de código que tiene una función específica y puede ser reutilizada.Este código ha sido escrito de antemano y tiene un nombre "agradable". En el proceso posterior de programación, si necesita la misma función, puede llamar a este código directamente dándole un buen nombre.

A continuación se muestra cómo encapsular nuestra función len() autoimplementada en una función:

#Función personalizada len()

def mi_len(cadena):    

longitud = 0 

para c en str:       

largo = largo + 1 

longitud de retorno

#Llamar a la función personalizada my_len()

longitud = my_len("http://www.nowcoder.com/link/pc_kol_bzwh")

imprimir (longitud)

#Llama a la función my_len() de nuevo

longitud = my_len("http://www.nowcoder.com/link/pc_kol_bzwh")

imprimir (longitud)

Realice sumas, restas, multiplicaciones y divisiones dentro de la función, como calcular las órdenes de los dos días anteriores y las órdenes de los dos años anteriores, solo necesita llamar a la función todos los días.

6. Ciclo

Loop es un punto relativamente abstracto. Puede imaginar que la computadora ejecuta la lógica continuamente. Esta vez, la lógica se puede incrementar, disminuir y varias operaciones para realizar alguna lógica como [suma acumulativa]

Hay dos tipos de declaraciones de bucle en Python, while loop y for loop

imagen

añadir = "http://www.nowcoder.com/link/pc_kol_bzwh"

#for bucle, atravesando la cadena de adición

para ch en agregar: 

imprimir(ch,end="")

El resultado de la operación es:

http://www.nowcoder.com/link/pc_kol_bzwh

Cuando estaba aprendiendo solo, en realidad era más doloroso que c. Esta "ch" es muy irregular. Generalmente, ijk se escribe en c, lo cual es fácil de entender. De hecho, ch aquí es análoga a ijk en c, que significa que existe un robot de escaneo que escanea la cadena "agregar", registra un número cada vez que se escanea, lo registra en la cosa ch y finalmente lo emite.

El ciclo puede hacer muchas cosas, probar diferentes entradas (convertir la entrada en una cadena y luego dejar que el programa recorra), el resultado de la función y luego generar el resultado (como el valor de error de ajuste, para juzgar directamente qué la variable es más adecuada)

Lo anterior se puede considerar como la parte básica del lenguaje de programación. Todavía hay muchos fundamentos reales, y para consolidar los puntos de conocimiento anteriores, existen los algoritmos más básicos para ayudar a practicar (como realizar sumas acumulativas, sumas, etc.) Debe completarlos usted mismo (por ejemplo, si funciona, etc., esto es fácil de entender)

Bajando aquí, comenzamos la práctica del paquete de análisis de datos en la biblioteca de python (de hecho, es principalmente para llamar a funciones)

2. Práctica de la biblioteca Python de análisis de datos

1. Bibliotecas de uso común

Una biblioteca puede verse como una colección de funciones, como un libro, e importar el nombre de la biblioteca es como ordenarle a la computadora que abra este diccionario.

Hay principalmente tres bibliotecas de uso común, y puede haber diez bibliotecas que incluyan ciencia de datos

Ellos son:

Pandas, Numpy (claridad de datos, análisis, exploración, procesamiento de matriz); Scikit-learn, TensorFlow, Keras (biblioteca de aprendizaje automático), Gradio (implementación de aprendizaje automático); SciPy, Statsmodels (biblioteca estadística); matplotlib, Seaborn (visualización)

En términos generales, aprender Pandas, Numpy y Plotly es suficiente

2. Biblioteca numpy

Numpy destaca una capacidad de procesamiento de matriz, puede considerar la matriz como una tabla de Excel, almacenando datos en cada celda

Combinado con el tutorial básico anterior, cuando ingresa un dato, debe preparar cuadros para ingresar los datos. Las funciones involucradas en estas acciones incluyen

(1) Creación de matriz

imagen

Por ejemplo:

import numpy as npa = np.array([1,2,3,4])b = np.array([,'点赞','分享','求关注'])print(a)

Los arreglos se pueden operar (consulte la lógica del álgebra lineal) y los arreglos se pueden sumar, restar, multiplicar y dividir con arreglos.

La selección de números entre matrices, la indexación básica y el corte, la transposición y las operaciones trigonométricas están disponibles en Baidu. Siempre que sepa cómo usarlas, todas las operaciones matemáticas en matrices se pueden realizar.

3. Biblioteca de pandas

Las ventajas de la biblioteca pandas son: la alineación de varios tipos de fuentes de datos, la integración de funciones de series temporales, el manejo flexible de datos faltantes y la fusión de operaciones relacionales que aparecen en otras bases de datos.

Para decirlo sin rodeos, es más flexible que numpy y, a veces, solo los pandas pueden satisfacer las necesidades.

La idea de aprendizaje es:

(1) Familiarizado con series y dos tipos de datos

(2) Métodos de indexación de uso común y

imagen

(3) Indexación, selección, cálculo y filtrado de ideas de aprendizaje lógico como numpy

(4) Introducir algunas estadísticas de resumen que se pueden hacer usando el marco de datos, como el método corr, el método cov

(5) Manejar los datos faltantes, incluidas funciones como dropna\fillna\isnull\notnull

Las dos bibliotecas anteriores no deben memorizar funciones de memoria. Es mejor recordar lo que pueden hacer, como procesar arreglos, operar arreglos, cortar e indexar arreglos, completar valores faltantes y ordenar.

Las principales funciones de las dos bibliotecas se reflejan básicamente en el preprocesamiento de datos, a partir de aquí debes darte cuenta de que te estás acercando cada vez más al lugar donde necesitas estadísticas, luego de preprocesado los datos, puedes hacer el análisis (más adelante)

3, matpoltlib

Está claro que el 80% de las necesidades se pueden cubrir con excel. No es imposible usar python, la ventaja es que el grado de libertad es mayor, el gráfico más cercano y el estilo de investigación científica, la desventaja es que no cumple con la mayoría de los escenarios de trabajo, satisfecho, no puedes escribir el código usted mismo. Generalmente, los datos se ingresan en ppt o excel y se pueden operar directamente en él, lo que es más eficiente.

imagen

Sin más preámbulos comencemos

(1) Crear un gráfico vacío

La figura y la subtrama pueden crear un objeto de gráfico

fig = plt.figura()

ax1 = fig.add_subplot(2,2,1)

Desde aquí, puede emitir comandos de dibujo, es decir, completar los datos en las coordenadas horizontales y verticales

(2) Dibujar la imagen

form numpy. import randnplt.plot(randn(50).csmsum(),'k--')_= ax1.hist(randn(100),bins=20,color = 'k',alpha = 0.3)ax2.scatter(np.arange(30),np.arange(30)+3*randn(30))

imagen

Debe saber que todos los parámetros de la imagen son controlables, incluidos los colores, los marcadores, los tipos de línea, los ejes, el espaciado, las escalas, las leyendas, las anotaciones, lo que sea.

Entonces, ¿por qué es más adecuado para la investigación científica, porque el documento puede necesitar solo unas pocas imágenes, pero en el trabajo, es posible que necesite varias imágenes al día y no tiene tiempo para escribir tan rápido? El contenido de la visualización se puede entender.

(3) Comprender los tipos de gráficos

Gráfico de líneas:

serie (np.random.randn(10).cumsum(),index =np.arange(0,100,10))

Histograma:

data.polt(tipo = 'barra',ax=ejes[0],color='k',alfa = 0.7)

Histograma: hist(contenedores = 50)

Gráfico circular: plt.pie()

Tema especial: operaciones de agregación y agrupación de datos

Hay un grupo por función en SQL, y Python también puede hacerlo. De hecho, la mayor parte del procesamiento básico de datos pertenece a operaciones de agrupación. Por ejemplo, el orden de [todos los días] [todas las ciudades] es agrupar la fecha y ciudad. Los resultados de las diferentes agrupaciones son el desmantelamiento de indicadores en dimensiones.

De hecho, la capacidad de python para agrupar datos es más fuerte que la de sql, pero es más débil en la eficiencia del procesamiento de datos. Depende de qué tan lejos necesite agrupar para determinar si necesita exportar datos específicamente para procesarlos con python.

La función de agrupación más básica se expresa como:

Supongamos que el grupo de datos son dos columnas de indicadores data1&data2, y la dimensión es key1&ley2

grupo = df['datos1'].groupby(dt['clave']) 

El grupo generado es un objeto groupby, puede entenderlo como un agrupador preparado y luego necesita cooperar con varias funciones de agregación para generar resultados,

Por ejemplo:

grupo.media()

también se pueden escribir juntos

media =df['datos1'].groupby([df['clave1'],df['clave2']]).media()

Algunas funciones agregadas de uso común son las siguientes:

imagen

Tema especial: Serie temporal

Las series de tiempo en python se pueden resumir como: procesamiento de función de tiempo + datos de formato de tiempo, representando completamente la distribución de series de tiempo, agregando varias operaciones, los módulos principales son: fecha y hora, calendario

Por ejemplo, la hora actual: ahora = datetime.now

datetime almacena el tiempo en milisegundos, delta = datatime(2022,12,14) - datatime(2022,12,1)

Las funciones de tiempo también se pueden convertir entre sí con cadenas,

Por ejemplo: valor = '2022-12-24'

fechahora.strptime(valor,'%Y-%m-%d')

También puede usar parser.parse en el paquete dateutil para analizar fechas, por ejemplo:

analizar ('2022-12-24')

Salida: datetime.datetime(2022,12,24,0,0)

definición de formato para fecha y hora

imagen

Las variables en el formato de serie de tiempo son en realidad una serie de tiempo, además de varios indicadores, como 1.1, 1; 1.2, registro 2

Se puede definir de la siguiente manera:

fechas =

 [fecha y hora (2022,12,1), fecha y hora (2022,12,2), fecha y hora (2022,12,3), fecha y hora (2022,12,4), fecha y hora (2022,12,5), fecha y hora (2022, 12,6), fecha y hora (2022,12,7), fecha y hora (2022,12,8)] 

ts = Serie (np..randn (6), índice = fechas) 

Se obtienen las variables de serie de las dos columnas de series temporales

Python puede hacer: generar un rango de fechas fijo (pd.date_range), compensar una cantidad de fecha fija (hoy en día = fecha y hora (2022,12,1) + 3 * día (), mover datos de fecha, etc., todo pertenece a la operación de preprocesamiento de datos.

Arriba, la mayor parte del trabajo que puede usar python para procesar datos básicamente ha sido compartido. Muchos detalles se pueden crear escribiendo código y Baidu. Finalmente, en el trabajo de análisis de datos real, complete el procesamiento de datos y la parte de visualización para llevar a cabo su varias tareas Análisis (como desmantelar indicadores por diferentes agrupaciones, visualizar y encontrar fluctuaciones descendentes, etc.)

Supongo que te gusta

Origin blog.csdn.net/onebound_linda/article/details/131913497
Recomendado
Clasificación