varias una seleccionar filtrar filas datos columnas columna añadir agregar python python-2.7 pandas max

seleccionar - Python Pandas agrega una columna para el valor máximo en filas de las columnas seleccionadas



seleccionar filas y columnas en python (3)

data = {''name'' : [''bill'', ''joe'', ''steve''], ''test1'' : [85, 75, 85], ''test2'' : [35, 45, 83], ''test3'' : [51, 61, 45]} frame = pd.DataFrame(data)

Me gustaría agregar una nueva columna que muestre el valor máximo para cada fila.

salida deseada:

name test1 test2 test3 HighScore bill 75 75 85 85 joe 35 45 83 83 steve 51 61 45 61

A veces

frame[''HighScore''] = max(data[''test1''], data[''test2''], data[''test3''])

funciona pero la mayoría de las veces da este error:

ValueError: el valor de verdad de una matriz con más de un elemento es ambiguo. Use a.any () o a.all ()

¿Por qué solo funciona a veces? ¿Hay alguna otra forma de hacerlo?


si se va a determinar un valor max o min entre múltiples columnas en un df entonces use:

df[''Z'']=df[[''A'',''B'',''C'']].apply(np.max,axis=1)


>>> frame[''HighScore''] = frame[[''test1'',''test2'',''test3'']].apply(max, axis=1) >>> frame name test1 test2 test3 HighScore 0 bill 85 35 51 85 1 joe 75 45 61 75 2 steve 85 83 45 85


>>> frame[''HighScore''] = frame[[''test1'',''test2'',''test3'']].max(axis=1) >>> frame name test1 test2 test3 HighScore 0 bill 85 35 51 85 1 joe 75 45 61 75 2 steve 85 83 45 85