Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo usar Python para procesar datos

Cómo usar Python para procesar datos

Pandas es la biblioteca elegida para el resto de este libro.

Pandas aborda las siguientes necesidades:

Estructuras de datos que alinean datos por eje de forma automática o explícita. Esto evita muchos errores comunes causados ​​por datos desalineados y datos de diferentes fuentes de datos (indexados de manera diferente). .

Funciones integradas de series de tiempo

Estructuras de datos que pueden manejar datos de series de tiempo y no series de tiempo

Según diferentes metadatos (números de eje), realizan operaciones matemáticas. operaciones y análisis (por ejemplo, sumar ejes específicos)

Manejo flexible de datos faltantes

Fusiones y otros problemas que ocurren en bases de datos comunes, como las bases de datos relacionales basadas en SQL. Operaciones relacionales basadas en SQL

1. Introducción a la estructura de datos de Pandas

Dos estructuras de datos: Series y DataFrame. Una Serie es un objeto similar a una matriz NumPy, que consta de un conjunto de datos (varios tipos de datos NumPy) y un conjunto de etiquetas de datos (es decir, índices) asociados con él. Los índices y valores se pueden especificar utilizando índice y valores respectivamente. Si no se especifica ningún índice, se crea automáticamente un índice de 0 a N-1. #-*- codificación: utf-8 -*-import numpy as npimport pandas as pdf from pandas import Series,DataFrame#Series Puede configurar el índice, un poco como un diccionario, con el índice como índice obj = Series(, index=,index =, 'c':, 'b':

}#Tenga en cuenta que las columnas se ordenan por nombre de columna frame = DataFrame(data)#print frame#Especifique la columna y luego ordene según a la columna especificada frame = DataFrame (datos,columnas=,index =,index = index1)imprimir obj2.index es index1#Además de verse como una matriz, Index funciona como una colección de tamaño fijo, imprime 'Ohio' en el marco3. columnsprint 2003 en frame3.index

Index es una clase en pandas y también es el objeto principal de Index en pandas (cuándo usarlo)

Los siguientes son los métodos y propiedades de Index Vale la pena señalar que: el índice no es una matriz.

2. Funciones básicas

Los siguientes son los métodos básicos de procesamiento de datos de Series y DataFrame.

Primero está el índice: #-*- encoding:utf-8 -*-import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series,DataFrame#Series tiene una función de reindexación que puede reorganizar el índice, cambiando así el orden. de elementos obj = Series(,index=), #print obj.index=), #print objobj2 = Series(['red','blue'], index=) index=)#method = fill, significa relleno de valor directo obj3 = obj2.reindex(range(6),method='ffill')#print obj3#La reindexación del marco de datos se puede cambiar para filas, columnas o ambas frame = DataFrame(np.arange(9).reshape( (3, 3)),index = ['a','c','d'],columns = ['Ohio','Texas','California'])#Simplemente pase el número de columnas que se reindexarán contra las filas porque......... el parámetro de fila del marco se llama índice... (supongo) frame2 = frame.reindex(['a','b','c',' d'])#print frame2#Cuando se ingresa un índice que no existe, por supuesto devolverá un NaN#frame3 = frame.reindex(['e','f','g','h'] ) #print frame2#Cuando se ingresa un índice inexistente, por supuesto devolverá un NaNreindex vacío(['e'])#print frame3states = ['Texas','Utah','California']#Este es el reordenamiento de filas y columnas#Nota: el método aquí es el llenado del índice que son las filas, las columnas no se pueden llenar (independientemente de la posición del método) frame4 = frame.reindex(index=['a',' b ','c' ,'d'],columns=states,method = 'fill')#Imprimir cuadro4#Utilizando la función de índice de anotaciones de ix, la reindexación se vuelve más concisa.

ix[['a','d','c','b'],states]

Eliminar elementos en el eje especificado #-*- codificación:utf-8 -*-importar numpy como npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series,DataFrame#La función de colocación descarta columnas en un eje, valores de fila obj = Series(np.arange(3.),index = ['a','b' , 'c'])#La serie original no se elimina obj.drop('b')#print obj#Nota a continuación, las filas se pueden eliminar a voluntad, es necesario agregar columnas axis = 1print frame.drop(['a' ] ) print frame.drop(['Ohio'],axis = 1)

La indexación, la selección y el filtrado se presentarán a continuación #-*- encoding:utf-8 -*-import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series,DataFrame

obj = Series(,index=,['a','b','c'])

s2 = Serie( ,['b','c','d'])#print s1 + s2df1 = Marco de datos(np.arange(12.).

df2 = Marco de datos(np.arange(20. ). reshape(4,5),columns=list('abcde'))#print df1 + df2# Utilice el método add y pase fill_value. Tenga en cuenta que el siguiente contenido de la función fill_value corresponde a la suma después del llenado, no a la suma. después de completar NaN #print df1.add(df2,fill_value = 1000)#df1.reindex(columns = df2.columns,fill_value=0)