No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Concatenación de DataFrames: concat y append

15/28
Recursos

Aportes 33

Preguntas 5

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Una funcionalidad extra de pandas que puede ser útil es pd.update().
Donde básicamente si tengo df1 y df2, al hacer pdf1.update(df2) me actualiza o cambia los valores de df1 tomando los de df2 , pero sólo de las columnas que tienen en común.

Otra forma de hacer un append mas directo y más personalizado, es con el metodo insert(), este metodo toma 3 parametros:

  • La posicion en la que queremos insertar la columna
  • El nombre de la columna
  • Los valores a insertar (puede ser una lista o array o una serie)

De esta forma:

# la posicion (1) indica que será la segunda fila (empieza a contar desde cero) 

# luego sigue el nombre de la nueva columna

# luego los valores de la nueva columna
>>> df_2r.insert(1, 'columna_nueva', [45, 10, 67])

Aunque no lo recomiendo usar por que modifica directamente el dataFrame, en cambio recomiendo usar este otro metodo ya que devuelve una copia sin modifcar el original y es el assign() que funciona de manera similar.

El nombre de la columna se pasa como parametro al metodo, de esta forma:

# la nueva columna se llamará "col_nueva" con valores [1, 45, 67
# se agregará al final, no modifica el df original
df_2r.assign(col_nueva=[1, 45, 67])

recuerden que al concatenar las series s1 y s2, es posible usar luego de axis, el parametro
inplace=True si quiero indicar los cambios se hagan a mi serie original.

soy el unico que esta haciendo todos los ejercisios y haciendo apuntes?, quien conmigo?

La función randn() sigue una distribución normal estandar y aunque tiene mayor probailidad de tomar valores entre -1 y 1, también toma otros valores. Podría decirse que el límite podría ser entre -3 y 3

Si queremos que la append ocurra en el sentido de las columnas lo que podemos hacer es

df1.reset_index(drop=True).T.append(df2.reset_index(drop=True).T).T

Concatenar it’s my pasion

David de los mejores Instructores

Tambien es posible recontar el index con: ignore_index=True
pd.concat([s1,s2],ignore_index=True)

df1.T.append(df2.T).T == df1.concat([df1,df2], axis=1)
True

Forma rápida de obtener lista con elementos ‘a’, ‘b’, ‘c’, ‘d’…

list(‘abcde’)
(Output)

[‘a’, ‘b’, ‘c’, ‘d’, ‘e’]

Funciona también con listas de elementos que son cadenas de textos. Para ello usamos el método del tipo string ‘.split’ :

‘España Colombia Argentina México Uruguay’.split()
(Ouput)

[‘España’, ‘Colombia’, ‘Argentina’, ‘México’, ‘Uruguay’]

El resumen de las clase

Concatenar en Pandas por filas pd.concat( [s1,s2] ) shape(10,1)

Gracias

Concatenar por columnas en numpy numpy.concatenate(array1,array2, axis = 1) shape(2,10)

conctenar solo donde coinciden los data frames

Concatenar en Pandas

Excelente. Muy útil y necesarios para el análisis.

Si se está usando la librería de pandas se emplea:

pd.options.display.float_format = {":.2f}.format

Si se está trabajando con la librería de numpy se emplea:

np.set_printoptions(precision=2)

En ambos comandos el número (para este caso 2) indica la cantidad de decimales que se desea. Si no se quieren decimales se puede colocar cero.

Que porquería de curso, el peor hasta ahora

Un alternativa a las transpuestas puede ser la función merge de pandas 😄.

Concatenar anidado con las dos funciones concat y append, en su forma mas simple
y=pd.concat([df1,df2]) z =df1.append(df2)

yy =pd.concat([df1,z]) zz = df1.append(z)
el resultado es el mismo, la diferencia esta en las lineas de código aplicadas y los requerimientos del análisis a realizar

Muy bueno el curso, sin embargo, el codigo parece no esta actualizado y que bote tanto error es una cagada… la mayoria se solucionan buscando en internet pero quema mas tiempo y genera desgaste…

a ver si actualizan un poco…

al indicar la serie:

s1 = pd.Series(x1[0],index =['a','b','c','d','e'])

me arroja el error

ValueError: invalid format specifier.

cambio la disposición de los argumentos, pero no sirve, se supone que Series admite entero, cadena, flotante, objetos de python, etc. ademas de poderle pasar listas, tuplas o diccionario.

alguna sujerencia?

Concatenar dos dataframes sin respetar sus índices

Concatenar por filas en numpy numpy.concatenate(array1,array2) shape(4,5)

Concatenar en Pandas por columnas pd.concat( [s1,s2], axis=1 ) shape(5,2)

Juntar dos series sin considerar el indice

concatenar dataframes

Append

Para **unir 2 o mas dataframes **podemos usar las siguientes funciones de Pandas:

  • concat
  • append

¿Qué vamos a aprender en esta clase?

Vamos a aprender a unir 2 dataframes con concat y append.

Interesante