12 pandas gran función y NumPy, realizar análisis de datos más con menos pitón

Todos sabemos pandas y la función NumPy grande, que desempeñan un papel importante en el análisis diario. Sin estas dos funciones, se pierde en este vasto análisis de datos y el mundo científico.

Hoy en día, el pequeño núcleo compartirán 12 grandes funciones pandas y NumPy que harán la vida más conveniente, hacer un análisis más efectivo.

Al final de este artículo, los lectores pueden encontrar JupyterNotebook menciona en el código de texto.

NumPy desde el principio:

NumPy computación científica con Python es el paquete básico. Contiene los siguientes:

  • Potente N-dimensional objeto de matriz
  • función compleja (radio de radiodifusión)
  • Integrado C / C ++ y Fortran herramientas de código
  • álgebra lineal Útil, transformada de Fourier y la función de números aleatorios

Además del uso científico claro, contenedores de datos generales NumPy eficientes multidimensionales, pueden definir un tipo de datos arbitrario. Esto permite una alta velocidad y NumPy para integrarse perfectamente con una variedad de bases de datos.

1. selecciónCerrar ()

SelecciónCerrar () para hacer coincidir dos matrices y da salida a un valor booleano. Si la entrada no es igual en las dos matrices dentro del rango de tolerancia, se devuelve Falso. Esto es similar para comprobar si dos matrices de una manera buena, porque esto es realmente muy difícil de lograr de forma manual.

array1 = np. array ([ 0,12, 0,17, 0,24, 0,29])   array2 = np. array ([ 0,13, 0,19, 0,26, 0,31]) # con una tolerancia de 0,1, se shouldreturn Falso: np.allclose (array1, array2, 0.1)  False # con una tolerancia de 0,2, se debe devolver True: np.allclose ( array1, array2, 0.2)  Verdadero  

2. argpartition ()

NumPy Esta función es muy buena, se puede encontrar N índice máximo. N salida máxima índice de valor, y luego, si es necesario, los valores están ordenadas.

x = np. array ([ 12,  10,  12,  0,  6,  8,  9,  1,  16,  4,  6, 0]) index_val = np.argpartition (x, - 4) [- 4:] index_val  array ([ 1,  8,  2,  0], dtype = Int64) np.sort (x [index_val])  matriz ([ 10,  12,  12,  16])  

3. Clip ()

El Clip () se utiliza para retener el valor en el intervalo de matriz. A veces, es necesario que se mantenga entre los límites superior e inferior. Por lo tanto, el uso de la función NumPy Clip (). Un intervalo dado, un valor que no sea el intervalo será recortada a los intervalos de borde.

x = np. array ([ 3,  17,  14,  23,  2,  2,  6,  8,  1,  2,  16, 0]) np.clip (x, 2, 5)  una matriz ([ 3,  5,  5,  5,  2 ,  2,  5,  5,  2,  2,  5,  2])  

4. extracto ()

Como su nombre indica, la función extract () se utiliza para extraer un elemento específico de la matriz de acuerdo con ciertas condiciones. Con esta función, también puede utilizar las AND y OR otras declaraciones.

# Random enteros 
 Array = np.random.randint ( 20, tamaño = 12) 
 matriz  matriz ([  0,   1,   8,  19,  16,  18,  10,  11,   2,  13,  14,  3]) # Dividir por  y comprobar ifremainder  es  1 cond = np.mod ( array,  2) == 1 cond  array ([ , False   Verdadero,  , False   Verdadero,  , False  , False  , False   Verdadero,  , False  , True  , False   Real]) # uso extracto  para  obtener los valores np.extract (cond, array)  array ([  1,  19,  11,  13,   3]) # Applycondition  en extracto directamente np.extract ((( array <  3) | ( array>  15)),  array)  array ([  0,   1,  19,  16,  18,   2])  

5. percentil ()

Percentil () para el cálculo de los elementos de la matriz a lo largo de un eje especificado en el percentil n-ésimo.

a = np.array ([ 1, 5, 6, 8, 1, 7, 3, 6, 9]) de impresión ( "50thPercentile de un, eje = 0:", np.percentile (a,  50, eje = 0 ))  50º percentil de un, eje =  0:   6.0b = np.array ( [[10, 7, 4], [3, 2, 1]]) de impresión ( "30a percentil de b, eje = 0:", np.percentile (b,  30, eje = 0))  30a percentil de b, eje =  0: [ 5,13 0,5  1,9]  

6. donde ()

DONDE () devuelve el elemento de una matriz se utiliza para condiciones reúnen específicos. Se devuelve el valor de posición de índice bajo ciertas condiciones. Esto es casi similar a cuando se usa en las instrucciones SQL. Consideremos el siguiente ejemplo demuestra.

y = np. array ([ 1, 5, 6, 8, 1, 7, 3, 6, 9]) # Donde y es GreaterThan 5, devuelve la posición de índice np.where (y> 5)  matriz ([ 2,  3,  5,  7 ,  8], dtype = Int64),) # Primera reemplazará los valores que matchthe condición,  # segundo reemplazará los valores que no np.where (y> 5,  "HIT",  "miss")  matriz ([ 'señorita ',  'señorita',  'Hit',  'Hit',  'señorita',  'Hit',  'señorita',  'Hit', 'Hit'],

Luego vino hablar de la magia de la función de las pandas.

pandas

Pandas es un paquete de Python que proporciona una rápida, la estructura de datos flexible y expresivo diseñado para permitir el procesamiento de estructurados (formas, multi-dimensional, potencialmente heterogéneo) de datos y el tiempo de datos serie es simple e intuitiva.

Los pandas son muy adecuadas para muchos tipos diferentes de datos:

  • Datos con el tipo heterogéneo forma una columna, por ejemplo, en una tabla de SQL u hoja de cálculo Excel
  • Ordenadas y desordenadas (no necesariamente una frecuencia fija) de los datos de series de tiempo.
  • datos matriz arbitraria (el mismo tipo o heterogéneo) que tiene una fila y columna etiquetas
  • Cualquier otra forma de observación conjunto de datos / estadística. De hecho, los datos no necesitan etiqueta, se puede poner la estructura de datos de las pandas.

Pandas son las siguientes ventajas:

  • Fácil de manejar los datos que faltan los datos de punto flotante y datos de punto no flotante (expresado como NaN)
  • la variabilidad del tamaño: puede insertar y columnas de eliminación de trama de datos y objetos de dimensiones superiores
  • alineación automática de datos y explícita: en el cálculo, el objeto se pueden alinear de forma explícita a un conjunto de etiquetas, etiquetas o el usuario puede ignorar, y así Series, trama de datos de datos de alineación automática, etc.
  • función de agrupamiento de gran alcance y flexible, la división puede realizarse en el conjunto de datos - Solicitud - la operación de combinación, y para convertir el resumen de datos
  • Fácilmente otras estructuras de datos irregulares Python y NumPy, diferentes de datos de índice en objetos trama de datos
  • Rebanada etiquetas inteligentes grandes conjuntos de datos, indexación avanzada y de subconjuntos
  • El acoplamiento combinado y recopilación de datos intuitiva
  • conjuntos de datos flexible y remodelación de spin
  • eje etiqueta Layered (puede haber múltiples escalas cada etiqueta)
  • IO poderosa herramienta para los archivos planos (CSV y archivos delimitados), archivos de Excel, bases de datos, datos de carga y datos de guardar / cargar en formato HDF5 ultra alta velocidad
  • series de tiempo-de función específica: la generación de un intervalo de fechas y conversión de frecuencia, que se mueven las estadísticas de la ventana, la fecha y el desplazamiento de histéresis.

1. Aplique ()

La función Aplicar () y la función de transferencia permite que el usuario que aplica un único valor para cada secuencia de pandas.

# Menos máx mezclar lambda fn 
 fn = lambda  x: x.max () - x.min () # Aplicar esto en DFRAME que acabamos de createdabove   dframe.apply ( fn)  

2. copia ()

función de copia () se utiliza para crear una copia de las pandas de un objeto. Cuando la trama de datos se asigna a otro marco de datos, el cambio en otra trama de datos, que sincronizar el valor cambiado. Para evitar tales problemas, el uso de función de copia ().

# Creación de series de muestras 
 de datos = PD. Serie ([ ' India', ' Pakistán', ' china', ' Mongolia']) #  Asignación issuethat nos enfrentamos  datadata1 =  datos  # cambiar un valor de  datos 1 [ 0] = ' EE.UU.'  # También cambia el valor en la trama de datos de edad  datos #  Para prevenir eso, usamos  # crear la copia de la serie de  nuevo =  data.copy () # asignando nuevos valores  nuevos [ 1] = ' valor cambiado' # imprimir  los datos  de impresión (nuevo)  de impresión ( datos)  

3. read_csv (nRows = n)

Fuente: Pexels

Los lectores probablemente ya conocen la importancia de la función de lectura-csv. Pero incluso innecesarias, la mayoría de la gente erróneamente leer todo el archivo .csv. Asumir desconocida 10GB .csv columnas de archivos y datos, leer todo el archivo CSV no es una sabia decisión en este caso, ya que sería una pérdida de tiempo y la memoria. .Csv puede, a continuación, seguir sólo las líneas de importación según sea necesario.

importación io  
solicitudes de importación # Yo  estoy usando estos datos en línea  conjunto simplemente  facilitar las cosas Foryou chicos   url =  "https://raw.github.com/vincentarelbundock/Rdatasets/master/csv/datasets/AirPassengers.csv"   s = peticiones. obtener (url) .Este contenido #  leer  sólo  la primera  de 10 filas df = pd.read_csv (io.StringIO (s.decode ( 'UTF-8')), nfilas = 10, INDEX_COL = 0)  

4. Mapa ()

mapa de función () para el mapeo de los valores de entrada de acuerdo con una serie relación de correspondencia. Medios para sustituir cada secuencia de valores (serie) en otro valor que puede ser derivada de una función, un diccionario o secuencia (Series) en.

# Crear una trama de datos 
 DFRAME = pd.DataFrame (np.random.randn ( 4,  3), columnas = lista ( 'BDE'), índice = [ 'India',  'EE.UU.',  'China',  'Rusia']) #compute una cadena con formato de eachfloating valor del punto en marco changefn = lambda x:  '% .2f' % x # make cambia elemento-sabia DFRAME [ . 'd'] mapa (changefn)  

5 es un ()

función ISIN () se utiliza para filtrar la trama de datos. ISIN () ayuda para seleccionar una fila específica (o más) valores de una columna particular. Se trata de las características más útiles que he visto nunca.

# Uso de la trama de datos que hemos creado para read_csv 
 filtro1 = df [ "valor"]. ISIN ([ 112])  filter2 = df [ "tiempo"]. ISIN ([ 1949.000000]) df [filtro1 y filter2]  

6. select_dtypes ()

función select_dtypes () de un subconjunto de columnas sobre la base de los rendimientos de columna dtypes trama de datos. Establecer los parámetros de esta función, todas las columnas que incluyen ciertos tipos de datos, se pueden establecer para excluir ciertas columnas que tienen todo tipo de datos.

# Vamos a utilizar la misma trama de datos que utilizamos para read_csv 
 FRAMEX = df.select_dtypes (include = "float64") # Devuelve  única columna de hora  

beneficios:

Tabla dinámica()

Pandas característica más sorprendente es tabla_dinámica más útil. Si usted lucha con la posibilidad de utilizar GroupBy, y le gustaría ampliar su funcionalidad, a continuación, tratar de tabla dinámica. Si usted entiende el principio de funcionamiento de la tabla dinámica en Excel, entonces todo es muy simple. nivel de tabla dinámica se almacena en el objeto MultiIndex (índice de capas) en la que el objeto se encuentra resultados trama de datos y el índice de columna.

# Crear una muestra trama de datos de  
la escuela = pd.DataFrame ({ 'A': [ 'Jay',  'Usher',  'Nicky',  'Romero',  'Will'],         'B': [ 'Masters',  'graduado' , 'Graduate',  'Masters',  'Graduate'],         'C': [ 26,  22,  20,  23,  24]})  # permite crear una tabla dinámica a los estudiantes segregar basadas en la edad y la tabla curso = pd.pivot_table (escuela,  valores = 'A',  índice = [ 'B',  'C'], las columnas = [ 'B'], aggfunc = np.sum,fill_value = "no disponible") mesa 

Supongo que te gusta

Origin www.cnblogs.com/7758520lzy/p/12627396.html
Recomendado
Clasificación