Articles of se

Python: Intentando aplicar en forma cruzada dos marcos de datos

Estoy tratando de obtener un dataframe que tenga todas las combinaciones de dos columnas individuales en dos marcos de datos diferentes. Mis marcos de datos se ven así: >>>first_df >>>second_df id test id text 0 1 abc 0 11 uvw 1 2 def 1 22 xyz 2 3 ghi A partir de esto, pude obtener […]

Rodando una función en un dataframe

Tengo el siguiente dataframe C >>> C abc 2011-01-01 0 0 NaN 2011-01-02 41 12 NaN 2011-01-03 82 24 NaN 2011-01-04 123 36 NaN 2011-01-05 164 48 NaN 2011-01-06 205 60 2 2011-01-07 246 72 4 2011-01-08 287 84 6 2011-01-09 328 96 8 2011-01-10 369 108 10 Me gustaría agregar una nueva columna, d […]

Acelerar la función de aplicación de pandas

Para un Pandas DataFrame relativamente grande (unas pocas filas de 100k), me gustaría crear una serie que sea el resultado de una función de aplicación. El problema es que la función no es muy rápida y esperaba que pudiera acelerarse de alguna manera. df = pd.DataFrame({ ‘value-1’: [1, 2, 3, 4, 5], ‘value-2’: [0.1, 0.2, […]

¿Por qué pandas.DataFrame.apply imprime basura?

Considere este simple dataframe: ab 0 1 2 1 2 3 Realizo una .apply como tal: In [4]: df.apply(lambda x: [x.values]) Out[4]: a [[140279910807944, 140279910807920]] b [[140279910807944, 140279910807920]] dtype: object In [5]: df.apply(lambda x: [x.values]) Out[5]: a [[37, 37]] b [[37, 37]] dtype: object In [6]: df.apply(lambda x: [x.values]) Out[6]: a [[11, 11]] b [[11, […]

El dataframe de Pandas se aplica a la fila anterior para calcular la diferencia

Tengo el siguiente dataframe de pandas que contiene 2 columnas (simplificado). La primera columna contiene los nombres de los jugadores y la segunda columna contiene fechas (objetos de datetime y datetime ): player date A 2010-01-01 A 2010-01-09 A 2010-01-11 A 2010-01-15 B 2010-02-01 B 2010-02-10 B 2010-02-21 B 2010-02-23 Quiero agregar una columna diff […]

aplicar una función en la ventana móvil en Dataframe donde se pasa a la función todo el data frame.

Tengo un dataframe de 5 columnas indexadas por YearMo: yearmo = np.repeat(np.arange(2000, 2010) * 100, 12) + [x for x in range(1,13)] * 10 rates = pd.DataFrame(data=np.random.random(120, 5)), index=pd.Series(data=yearmo, name=’YearMo’), columns=[‘A’, ‘B’,’C’, ‘D’, ‘E’]) rates.head() YearMo ABCDE 200411 0.237696 0.341937 0.258713 0.569689 0.470776 200412 0.601713 0.313006 0.221821 0.720162 0.889891 200501 0.024379 0.761315 0.225032 0.293682 0.302431 […]

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, […]