FILTROS:
Índice de la página:
Generales.
De una Tabla ver los primeros y últimos.
iloc.
loc.
iloc.
loc.
-------------------------------------------------------------------------------
Generales:df.shape # Nos da el número de filas y de columnas
df[df.Date == '2009.01.05'] # De la columna Date los de 2009.01.05
df[df.A == 'A-10'] # De la columna A los de A-10
df[(df['A'] == 'A-10') & (df['Volume'] > 100000)] # Los A=A-10 y Volume>100000
df[df.Date >= '2009.01.05'] # De la columna Date los mayores o iguales a 2009.01.05
df[(df.Date >= '2009.01.05') & (df.Date <= '2009.01.09')] # Los que estan entre las 2 fechas
df[df.Item.isin(['NZDUSD', 'EURUSD', 'EURCAD'])] # Ver de la columna 'Item' los que contengan el filtro
df = df[(df['Type'] == 'buy') & (df['Item'] == 'EURUSD')] # Ver operaciones de compra del EURUSD
x = df[df['dd_start'].isnull()] # Valores nulos de la columna 'dd_start'
x = df[df['dd_start'].notnull()] # Valores NO nulos (buenos) de la columna 'dd_start'
df[pd.isna(df['Item'])] # Ver de la columna 'Item' los que no tengan ningún valor
df[-1:] # Vemos la ultima fila.
df.head(7) # Vemos los 7 primeros registros de df
df.tail(7) # Vemos los 7 últimos registros de df
pd.unique(df['A']) # Vemos todo lo que hay en la columna 'A' sin ninguna repeticion.
df[dfA.isnull().any(1)] # Vemos las filas que tienen valores nulos de todo el df
df.dropna() # Elimina las filas que tengan valores nulos
df.dropna(subset= ['Profit'], axis=0) # Elimina de la columna Profit las filas con datos nulos
df.dropna() # Elimina en todo el DataFrame todas las filas con datos nulos, o sea solo veremos los datos buenos
df.fillna(df.mean()) # Rellenar los valores nulos con la media de todo su grupo (columna)
df.fillna(0) # Rellena los valores nulos con ceros. Podemos poner un string y rellenarlo con cualquier palabra
df.isnull().any() # Vemos en que columnas se encuentran los valores nulos
df.isnull().sum() # Vemos cuantos nulos hay en cada columna
df[df['Item'].str.contains('CAD')] # Vemos los que en la columna 'Item' tengan la palabra CAD
df['Item'].str.lower() # Pone toda la columna 'Item' en minúsculas
df['Item'].str.upper() # Pone toda la columna 'Item' en mayúsculas
De una tabla ver los primeros y los últimos registros:
# SE PONE AL PRINCIPIO DONDE VAN LAS IMPORTACIONES
pd.set_option('display.max_rows', 10) # Se ven 5 primeros y 5 finales
pd.reset_option('display.max_rows') # Quita el que se vean los 5 y 5 y se ve toda la tabla
----------------------------------------------------------------
iloc:
# FILTROS CON iloc SELECCIONA FILAS Y COLUMNAS POR INDICE NUMERICO
iloc[0:5] # Ver las 5 primeras filas
iloc[[0,4,7,10,25]] # Ver filas salteadas
iloc[:,1:4] # Ver columnas contiguas
iloc[:,[1,3,5,9]] # Ver columnas alternas
iloc[[0,3,6,8],[2,4,6,9]] # Ver filas y columnas alternas
iloc[0:5,3:6] # Ver rango de filas y columnas
iloc[2,7] = 'A-3-A' # Sustituir valor de una fila y columna concreta
df.iloc[1234] # Selecciona la fila número 1234
----------------------------------------------------------------
loc:
# FILTROS CON loc POR NOMBRE DE COLUMNA
loc[:,['Time']] # Ver una sola columna
loc[:,['Time','Low','Volume']] # Ver varias columnas alternas o continuas
# HAY QUE PONERLE EL NOMBRE DEL INDICE POR EL QUE QUERAMOS FILTRAR
df.index = df['Date'] # Le ponemos la columna 'Date' como indice
df.loc[16291755] # Seleccionamos el registro cuyo ticket es 16291755
df.loc['2009.01.02'] # Buscamos un valor (fecha 2009.01.02)
df.loc[['2009.01.02', '2009.01.05', '2009.01.07']] # Buscamos 3 valores pero podemos buscar todos los necesarios.
df.loc[14166028:15230356][['Open_Price','Close_Price','Profit']] # Seleccionamos desde-hasta y mostramos las 3 columnas
----------------------------------------------------------------