Articles of se

Nueva columna que usa la función Apply en otras columnas en dataframe

Tengo un dataframe donde tres de las columnas son coordenadas de datos (‘H_x’, ‘H_y’ y ‘H_z’). Quiero calcular el radio-vector de los datos y agregarlos como una nueva columna en mi dataframe. Pero tengo algún tipo de problema con la función de aplicar pandas. Mi código es: def radvec(x, y, z): rv=np.sqrt(x**2+y**2+z**2) return rv halo_field[‘rh_field’]=halo_field.apply(lambda […]

Python Pandas: aplica una función con argumentos a una serie. Actualizar

Me gustaría aplicar una función con argumento a una serie de pandas: he encontrado dos soluciones diferentes de SO: Python Pandas: aplicar una función con argumentos a una serie. y Pasando múltiples argumentos para aplicar (Python) ambos dependen del uso de functool.partial y funcionan absolutamente bien. Por cierto, la nueva versión de Pandas soporta múltiples […]

¿Por qué los pandas aplican el cálculo dos veces?

Estoy usando el método de aplicación en el objeto DataFrame de un panda. Cuando mi DataFrame tiene una sola columna, parece que la función aplicada se llama dos veces. Las preguntas son ¿por qué? Y, ¿puedo parar ese comportamiento? Código: import pandas as pd def mul2(x): print ‘hello’ return 2*x df = pd.DataFrame({‘a’: [1,2,0.67,1.34]}) print […]

¿Por qué funciona df.apply (tupla) pero no df.apply (lista)?

Aquí hay un dataframe: ABC 0 6 2 -5 1 2 5 2 2 10 3 1 3 -5 2 8 4 3 6 2 Podría recuperar una columna que es básicamente una tupla de columnas de la df original usando df.apply : out = df.apply(tuple, 1) print(out) 0 (6, 2, -5) 1 (2, 5, […]

¿Cómo calculo el punto de intersección de dos líneas en Python?

Tengo dos líneas que se cruzan en un punto. Conozco los puntos finales de las dos líneas. ¿Cómo calculo el punto de intersección en Python? # Given these endpoints #line 1 A = [X, Y] B = [X, Y] #line 2 C = [X, Y] D = [X, Y] # Compute this: point_of_intersection = [X, […]

Cómo usar Pandas groupby apply () sin agregar un índice adicional

Muy a menudo quiero crear un nuevo DataFrame combinando varias columnas de un DataFrame agrupado. La función apply () me permite hacer eso, pero requiere que cree un índice innecesario: In [359]: df = pandas.DataFrame({‘x’: 3 * [‘a’] + 2 * [‘b’], ‘y’: np.random.normal(size=5), ‘z’: np.random.normal(size=5)}) In [360]: df Out[360]: xyz 0 a 0.201980 -0.470388 […]

Python Pandas: aplicar una función con argumentos a una serie.

Quiero aplicar una función con argumentos a una serie en pandas python: x = my_series.apply(my_function, more_arguments_1) y = my_series.apply(my_function, more_arguments_2) … La documentación describe el soporte para un método de aplicación, pero no acepta ningún argumento. ¿Hay algún método diferente que acepte argumentos? Alternativamente, ¿me estoy perdiendo una solución simple? Actualización (octubre de 2017): tenga […]

¿Cuándo debería querer usar pandas apply () en mi código?

Se trata de una QnA de respuesta automática que pretende informar a los usuarios sobre las dificultades y los beneficios de la aplicación. He visto muchas respuestas publicadas en preguntas sobre Stack Overflow que involucran el uso de aplicar. También he visto a usuarios que comentan debajo de ellos que dicen que ” apply es […]