Python - Máximo de una columna dependiendo de otra

   
Vista:

Máximo de una columna dependiendo de otra

Publicado por Adrián (4 intervenciones) el 23/01/2018 11:23:38
Hola buenas, tengo dos matrices como si fuesen columnas:

1
var mes = [8,2,2,5,5,6,7,1]
1
var año  = [2000,2000,2001,2004,2000,2002,2000,2004]

Con estas dos columnas represento el mes y el año de una tabla enorme, querria realizar un código donde me figure cual es la fecha máxima en conjunto, es decir, si buscamos los valores máximos de ambas columnas obtendremos que son:

8 y 2004

Pero en mi caso busco que me coja:

5 y 2004

Ya que el mes 8 esta asocidado al año 2000, el mes 2 esta asociado al 2000 y 2001.....

Un saludo, y gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Máximo de una columna dependiendo de otra

Publicado por xve (1568 intervenciones) el 23/01/2018 13:09:04
Hola Adrián, no se si hay alguna otra manera mas sencilla, pero una manera es obtener los años mas grandes y luego buscar en esos indices los meses mas grandes...

1
2
3
4
5
6
7
8
9
10
11
12
mes = [8,2,2,5,5,6,7,1]
ano = [2000,2000,2001,2004,2000,2002,2000,2004]
 
m=max(ano)
mAnos=[i for i,j in enumerate(ano) if j==m]
 
mMes=0
for i in mAnos:
	if mes[i]>mMes:
		mMes=mes[i]
 
print("El valor maximo es: ",m,mMes)

Te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Máximo de una columna dependiendo de otra

Publicado por Adrián (4 intervenciones) el 23/01/2018 18:55:47
MuchaS Gracias acabo de solucionarlo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

Máximo de una columna dependiendo de otra

Publicado por kip (228 intervenciones) el 23/01/2018 17:46:59
Hola, ademas de la muy buena respuesta de Xve, aqui te dejo otra:

1
2
3
4
5
6
7
8
from datetime import date
 
month= [8,2,2,5,5,6,7,1]
year = [2000,2000,2001,2004,2000,2002,2000,2004]
 
maxYearAndMonth = max(zip(year, month), key=lambda v: date(*v, 1))
 
print(maxYearAndMonth)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Máximo de una columna dependiendo de otra

Publicado por Adrián (4 intervenciones) el 23/01/2018 18:55:59
Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad