Articles of se

Pandas Rolling Apply personalizados

He estado siguiendo una respuesta similar aquí , pero tengo algunas preguntas al usar Sklearn y Rolling. Estoy tratando de crear puntuaciones z y hacer PCA con aplicación de balanceo, pero sigo obteniendo que ‘only length-1 arrays can be converted to Python scalars’ error. Siguiendo el ejemplo anterior creo un dataframe from sklearn.preprocessing import StandardScaler […]

¿Convertir un dataframe de python con varias filas en una fila usando los pandas de python?

Teniendo el siguiente dataframe, df = pd.DataFrame({‘device_id’ : [‘0′,’0′,’1′,’1′,’2′,’2’], ‘p_food’ : [0.2,0.1,0.3,0.5,0.1,0.7], ‘p_phone’ : [0.8,0.9,0.7,0.5,0.9,0.3] }) print(df) salida: device_id p_food p_phone 0 0 0.2 0.8 1 0 0.1 0.9 2 1 0.3 0.7 3 1 0.5 0.5 4 2 0.1 0.9 5 2 0.7 0.3 ¿Cómo lograr esta transformación? df2 = pd.DataFrame({‘device_id’ : [‘0′,’1′,’2’], ‘p_food_1’ […]

¿Forzar a los pandas a interpretar (1,2) en la columna como una cadena y no como un rango?

Tengo este extraño comportamiento en un Dataframe de pandas. Estoy utilizando .apply (single_seats_comma) en una columna con el siguiente contenido de ejemplo: (1,2) . Sin embargo, parece devolverlo como range(1,3) lugar de una cadena (1,2) . Otras filas tienen más de 2 entradas también, por ejemplo (30,31,32) . Tengo una función que se divide y […]

Rellenando una columna de pandas basada en otra columna

Me gustaría llenar cada fila de una columna de mi dataframe en base a las entradas en otra columna, en particular, quiero llenar cada fila con el nombre correspondiente del ticker correspondiente para ese stock, como así dict1 = [{‘ticker’: ‘AAPL’,’Name’: ‘Apple Inc.’}, {‘ticker’: ‘MSFT’,’Name’: ‘Microsoft Corporation’}] df1 = pd.DataFrame(dict1) Esta función proporciona el nombre […]

¿Por qué hay un índice extra al usar aplicar en Pandas?

Cuando uso apply a una función definida por el usuario en Pandas, parece que Python está creando una matriz adicional. ¿Cómo podría deshacerme de él? Aquí está mi código: def fnc(group): x = group.C.values out = x[np.where(x < 0)] return pd.DataFrame(out) data = pd.DataFrame({'A':np.random.randint(1, 3, 10), 'B':3, 'C':np.random.normal(0, 1, 10)}) data.groupby(by=['A', 'B']).apply(fnc).reset_index() Existe este extraño […]

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