Python computación científica: Datos de procesamiento rápido con numpy

Python computación científica: Datos de procesamiento rápido con numpy

Muy importante bibliotecas de terceros NumPy

Python es la base para el análisis de datos

Estándar de Python, con valores en la lista de conjuntos de tiendas, debido a los elementos de la lista puede ser cualquier objeto, la lista se almacena en el objeto puntero

lista de Python es una lista de la matriz, sino el de un simple array [0,1,2], es necesario tener tres puntos y tres objeto entero, pitón no es económica, sino también una pérdida de memoria y cálculo de tiempo

Además de utilizar numpy, necesita algunas habilidades para mejorar la memoria y mejorar la utilización de los recursos informáticos, una regla es: Evitar la copia implícita, y la operación en segundo lugar, por ejemplo: Que se duplica un valor de x, directo emitidas X *= 2, X = no escriba Y *2

Matriz de estructuras

La estadística en una clase el nombre del estudiante, la edad, así como una matriz de puntuaciones de lenguaje inglés que corresponde cómo hacerlo

C se puede definir en la matriz de la estructura del lenguaje, por tipos de estructura de definición de estructura, la operación en el numpy:

import numpy as np
persontype = np.dtype({
	'names':['name','age','chinese','math','english'],
	'formats':['s32','i','i','i','f']})
peoples = np.array([("ZhangFei",32,75,100,90),("GuanYu",24,85,43,87.5),("ZhaoYun",28,85,92,96.5),("HuangZhong",29,85,93,34)],dtype=persontype)
ages =peoples[:]['age']
chineses = peoples[:]['chineses']
maths = peoples[:]['math']
englishs = peoples[:]['english']
print np.mean(ages)
print np.mean(chineses)
print np.mean(maths)
print np.mean(englishs)

uso numpt dtype definido tipo de estructura, y luego definir una serie de tiempo con la matriz especifica el tipo de tipo D = array persontype de estructuras, puede utilizar libremente persontype costumbre, le gustaría saber las puntuaciones de lenguaje de todo el mundo se puede utilizar chineses = peoples[:]['chineses']para calcular el np.mean promedio de uso

operación ufunc

operación de la función se puede realizar para cada elemento de la matriz

Crear un conjunto continuo
x1 = np.arange(1,11,2)
x2 = np.linspace(1,9,5)

arange y linspace se crean matriz igual diferencia, x2 x1 es [1,3,5,7,9]

Arange () similar a la incorporada en función de la gama (), especificando el valor inicial, el valor final, el tamaño de paso para crear una matriz unidimensional de progresión aritmética, el valor predeterminado que no incluye la final

significado linspace alícuota representa un vector lineal

aritmética

Sumar, restar, multiplicar, dividir, y poder tratar de acceder I n

x1 = np.arange(1,11,2)
x2 = np.linspace(1,9,5)
print np.add(x1,x2)
print np.subtract(x1,x2)
print np.multiply(x1,x2)
print np.divide(x1,x2)
print np.power(x1,x2)
print np.remainder(x1,x2)

En el poder n-ésimo, elementos x2 de la matriz es el número de realidad, la matriz del poder elementos x1 como la base

función módulo, se puede usar np.remainder (x1, x2), y los resultados fueron np.mod (x1, x2) como

Funciones estadísticas

La necesidad de datos descriptivos análisis estadístico, tal como para los datos, mínimo, el cumplimiento máxima posible promedio, normales

recuento de Grupo y / o máxima Amax función (), una función del valor mínimo Amin () matriz

Amin () elementos a lo largo de un valor mínimo especificado para el cálculo del eje de la matriz, amin (a) es el valor mínimo de todos los elementos de la matriz, amin (a, 0) de un valor mínimo a lo largo del eje = 0 eje, eje = 0 eje los elementos se ven en [1,4,7], [2,5,8], [3,6,9] tres elementos, por lo que un mínimo de [1,2,3] es el elemento de la columna. amin (a, 1) a lo largo del eje del árbol = valor mínimo de 1, el eje elemento = 1 como put [1,2,3], [4,5,6], [7,8,9] tres elementos, Por lo tanto, el valor mínimo de [1,4,7]

La diferencia estadística entre el valor máximo y el valor mínimo de PTP ()

np.ptp (a) una diferencia estadística matriz entre los valores máximos y mínimos, es decir, 9-1 = 8, ptp (a, 0) es la estadística eje = 0 eje de la diferencia entre los valores máximo y mínimo, es decir, 7-1 = 6 (8-2,9-3) ptp (a, 1) a lo largo del eje diferencia estadística entre el máximo y el valor mínimo = 1 3-1 = 2, es decir, el eje (6-4,9-7)

array Estadísticas percentil percentil ()

percentil () representa el p-ésimo rango percentil de p es 0-100, si p = 0, minimización, p = 50, de promedio, p = 100, la selección del valor máximo, y se puede determinar en el eje = 0, el eje = p% de los dos árboles 1 percentil

La mediana mediana (), la media promedio () una matriz de estadísticas

La mediana de las matrices Seeking La mediana con () y media (), el valor medio

Promedio ponderado promedio matriz estadística ()
a = np.array([1,2,3,4])
wts = np.array([1,2,3,4])
print np.average(a)
print np.average(a,weight=wts)

promedio promedio () evaluación de la función ponderada, medios de promediación ponderada puede ser proporcionado para cada elemento de un peso, el peso de cada elemento es los pesos predeterminados son los mismos, por lo np.average (a) = (1 + 2 + 3 + 4) / 4 wts = 2,5, el peso se puede especificar array = [1,2,3,4], el np.average promedio ponderado (a, peso = WTS) =(1*1+2*2+3*3+4*4)/(1+2+3+4)=3.0

array Estadísticas de std desviación estándar (), la varianza Var ()

El cálculo de la varianza es un promedio de la diferencia al cuadrado resumió entre cada valor a la media, es decir mean((x-x.mean())**2), la diferencia se denota por la raíz cuadrada de la varianza, que representa un grado de dispersión de la media de la matriz de matrices

clasificación numpy

El uso de función de clasificación, tipo (a, eje = -1, tipo = 'quicksort', orden = None), quicksort predeterminada, tipo puede especificar quicksort, mergesort, heapsort representa rápida especie, de combinación de tipo, pila de clasificación, eje = - 1, que es a lo largo del eje de una matriz de clasificación final, puede tomar diferentes ejes eje, o eje = ninguno usos representativos manera plana como un vector de tipo, campo de orden puede especificar un campo de acuerdo con la estructura de la matriz para especie

a = np.array([[4,3,2],[2,4,1]])
print np.sort(a)
print np.sort(a,axis=None)
print np.sort(a,axis=0)
print np.sort(a,axis=1)

[[2 3 4], [1 2 4]]

[1 2 2 3 4 4]

[[2 3 1], [4 4 2]]

[[2 3 4], [1 2 4]]

Ejercicio: resultados de la clase Estadística

Supongamos que un equipo, hay cinco participantes, los resultados se muestran a continuación, puede utilizar estas estadísticas numpy calificaciones promedio en chino, Inglés, matemáticas, la puntuación mínima, varianza, desviación estándar, entonces la puntuación total de estas personas a la especie, como es sabido tiempos eran la salida de resultados

nombre completo chino Inglés matemáticas
Zhang Fei 66 sesenta y cinco 30
Guan Yu 95 85 98
Zhao 93 92 96
Huang 90 88 77
vadear 90 90 90
# _*_ coding:utf-8 _*_
import numpy as np
a = np.array([[4,3,2],[2,4,1]])
print(np.sort(a))
print(np.sort(a,axis=None))
print(np.sort(a,axis=0))
print(np.sort(a,axis=1))

persontype = np.dtype({
	'names':['name','age','chinese','math','english'],
	'formats':['s32','i','i','i','f']})
peoples = np.array([("ZhangFei",32,75,100,90),("GuanYu",24,85,43,87.5),("ZhaoYun",28,85,92,96.5),("HuangZhong",29,85,93,34),("DianWei",80,90,90)],dtype=persontype)

name = peoples[:]["name"]
chineses = peoples[:]["chineses"]
english = peoples[:]['english']
math = peoles[:]['math']
# 定义函数用于显示每一排的内容
def show(name , cj):
	print('{}|{}|{}|{}|{}|{}'.format(name,np.mean(cj),np.min(cj),np.max(cj),np.var(cj),np.std(cj)))
	
print("科目|平均成绩|最小成绩|最大成绩|方差|标准差")
show("语文",chineses)
show("英语",english)
show("数学",math)

print("排名:")
# 用sorted函数进行排序
ranking = sorted(peoples,key=lambda x:x[1]+x[2]+x[3],reverse=True)
print(ranking)

Por cmp () y lambda (), ordenados de acuerdo a la suma de tres sujetos, y SET = inversa orden descendente Verdadero

Publicado 75 artículos originales · ganado elogios 9 · vistas 9176

Supongo que te gusta

Origin blog.csdn.net/ywangjiyl/article/details/104719775
Recomendado
Clasificación