No tienes acceso a esta clase

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

Agregar o eliminar datos con Pandas

14/24
Recursos

Muchas ocasiones necesitamos agregar, eliminar o separar datos y pandas nos ofrece varias funciones para que este proceso se vuelva mucho más sencillo.

  • Muestra las primeras 5 líneas del DataFrame
df_books.head() 
---> muestra las primeras 5 lineas del dataFrame
  • Eliminar columnas de la salida pero no del DataFrame
df_books.drop('Genre', axis=1).head()
---> #elimina la columna Genre de la salida pero no del dataFrame
  • Eliminar una columna
del df_books['Price'] 
---> #elimina la columna Price del dataFrame
  • Eliminar filas
df_books.drop(0, axis=0)
---> #elimina la fila 0 del dataFrame
  • Eliminar un conjunto de filas mediante una lista
df_books.drop([0,1,2], axis=0)
---> #elimina las filas 0, 1 y 2 del dataFrame
  • Elimina un conjunto de filas mediante un rango
df_books.drop(range(0,10), axis=0)
---> #elimina las primeras 10 filas del dataFrame
  • Agregar una nueva columna con valores Nan
df_books['Nueva_columna'] = np.nan
---> #Crea una nueva columna con el nombre de Nueva_columna de valores Nan
  • Mostrar el número de filas o columnas que tiene un DataFrame
df_books.shape[0]
---> #Muestra el numero de filas que posee el dataFrame
  • Agregar valores a una nueva columna
data = np.arange(0, df_books.shape[0])
  • Crear una nueva columna y agregar los valores almacenados en el array
df_books['Rango'] = data
---> #Crea una nueva columna llamada Rango con los valores del array 
  • Para añadir filas se utiliza la función append de Python añadiendo como parámetro una lista, diccionario o añadiendo los valores manualmente.
df_books.append(df_books)
---> #Duplica las filas del dataFrame porque se agrega a si mismo

Contribución creada por: Edward Giraldo.

Aportes 77

Preguntas 12

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Si quieren borrar un elemento en especifico por ejemplo un autor

Obtenemos los indices donde se encuentra el autor que queremos borrar

index_author=df_books[df_books['Author']=="Fredrik Backman"].index
index_author

Le pasamos ese indice a drop para borrarlo

df_books.drop(index_author,inplace=True)
df_books.head(10)

Para agregar toda una fila podemos usar diccionarios, ejemplo:

df.append({'Name':'Cien años de Soledad', 'Author':'Gabriel García Márquez', "User Rating": 4.8, 'Reviews':20000,'Year':1967, 'Price':25}, ignore_index = True)```

Carlos Excelente clase!

Una buena practica antes del iniciar la limpieza de la data, es generar una copia profunda del DataFrame:
df_copy = df.copy(deep=True), en caso de no colocar deep=True solo se generara una shallow copy (solo referencias de la data y el indice) y cualquier cambio del df original afectara el Shallow copy y viceversa.

Actualmente frame.append está deprecado, se recomienda
utilizar pandas.concat.

El método append será removido de Pandas en futuras versiones, como alternativa sugieren el método concat, básicamente lo que hace es concatenar dos o más dataframes.

**Simplemente aplicamos el método concat a dos DataFrame de la siguiente forma **

df_books1 = pd.concat([df_books1, df_books])

De esta forma en la variable df_books1 tenemos nuestro nuevo DataFrame duplicado, sin embargo, con una fila menos (1099 rows) a diferencia del método append.

Pandas implemento valores nulos dentro del mismo pandas para no tener que importar NumPy, podemos usar pd.NA y es lo mismo que np.nan

Agregar o eliminar datos de Pandas

  • Mostrar las primeras 5 filas del dataFrame
import pandas as pd
import numpy as np

df_books = pd.read_csv('bestsellers-with-categories.csv', sep=',', header=0)
df_books.head() ---> #muestra las primeras 5 lineas del dataFrame
  • Eliminar columnas de la salida pero no del dataFrame
df_books.drop('Genre', axis=1).head() #axis 1 = columnas. axis 2 = filas
----> #elimina la columna Genre de la salida pero no del dataFrame
  • Eliminar una columna del dataFrame
del df_books['Price'] 
----> #elimina la columna Price del dataFrame
  • Eliminar filas del dataFrame
df_books.drop(0, axis=0)
----> #elimina la fila 0 del dataFrame
  • Eliminar un conjunto de filas mediante una lista
df_books.drop([0,1,2], axis=0)
----> #elimina las filas 0, 1 y 2 del dataFrame
  • Elimina un conjunto de filas mediante un rango
df_books.drop(range(0,10), axis=0)
----> #elimina las primeras 10 filas del dataFrame
  • Agregar una nueva columna con valores Nan
df_books['Nueva_columna'] = np.nan
----> #Crea una nueva columna con el nombre de Nueva_columna de valores Nan
  • Mostrar el numero de filas(0) o columnas(1) que tiene un dataFrame
df_books.shape[0]
----> #Muestra el numero de filas que posee el dataFrame
  • Agregar valores a una nueva columna del dataFrame
#Creamos una array con un numero de valores igual al numero de filas del dataFrame
data = np.arange(0, df_books.shape[0])

#Creamos una nueva columna y agregamos los valores almacenados en el array
df_books['Rango'] = data
----> #Crea una nueva columna llamada Rango con los valores del array 
  • Para añadir filas se utiliza la funcion append de python añadiendo como parametro una lista, diccionario o añadiendo los valores manualmente
df_books.append(df_books)
----> #Duplica las filas del dataFrame

Agregué una columna con un flag que dice si el libro es malo basado en su rating. Usé Python pero supongo que hay una mejor forma de hacerlo

rating = list(df['User Rating'])
is_bad_list = list()
for i in rating:
  if i < 4.5:
    is_bad_list.append(1)
  else:
    is_bad_list.append(0)
is_bad_array = np.array(is_bad_list)

df['Is Bad'] = is_bad_array

el metodo append() será depreciado en un fúturo, se recomienda utilizar .concat().

  1. Crear un diccionario con los nuevos datos
new_row = {'Name': 'New Book', 'Author': 'New Author', 'User Rating': 4.5, 'Reviews': 1000, 'Year': 2020, 'New Column': 1}
  1. Agregar la fia al dataframe original
df_book = pd.concat([df_book, pd.DataFrame([new_row])], ignore_index=True)

Encontré 2 formas más de eliminar registros:
1_ Eliminando los registros repetidos.
2_ Eliminando registros con determinada característica por ejemplo los index impares.
Lo hago con el dataframe de la clase:

import pandas as pd
import numpy as np 
df_books = pd.read_csv('/content/VIDEO 12 bestsellers-with-categories.csv',sep=',',header=0)
df_books.shape

(550, 7)

1_ ELIMINAR REGISTROS REPETIDOS
Tenemos 550 registrosde libros en el dataframe.
Entonces generamos un nuevo dataframe con repeticiones de los primeros 2 rows

df_books_rep = df_books.append(df_books.head(2))
df_books_rep.tail(5)

Usamos el metodo drop_duplicates para eliminar los regitros duplidades de nombre de los libros

df_books_sinrep = df_books_rep.drop_duplicates('Name')
df_books_sinrep.shape

(351, 7)

Se eliminaron mas de 2 registros. En total 201. Es decir: en el dataframe original habia 199 repeticiones de los nombres de todos los libros
El dataframe df_books_sinrep no tiene repeticiones de nombres de libros

2_ ELIMINAR INDEX IMPARES
El procedimiento es asignar a un nuevo dataset los index pares. Lo hacemos on ILOC.

df_books_pares = df_books.iloc[::2]
df_books_pares.head(10)

Probar el método concat para agregar filas.
ignore_index=True , permite generar nuevos índices con el total de filas.

print(pd.concat([games_csv,games_csv],ignore_index=True))

¡Hola!

Al momento que escribo este comentario, al usar la función df.append() se encuentra en estado ‘deprecated’. Por lo que Pandas recomienda usar este nuevo método:

pd.concat([df_1, df_2])

Aquí adjunto la documentación: Documentación concat

La verdad que un gran docente. Muy feliz de poder seguir su curso.

El metodo append ya fue deprecado de pandas, por lo que para poder aconcatenar los dataframes lo tendran que realizar de la siguiente manera:

df_books = pd.concat([df_books, df_books])
Para las nuevas versiones de Pandas, el método para agregar filas fue cambiado a \_append: data\_frame.\_append("list, tuple, dict", ignore*\_*index=True)
FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.

Append está deprecado a partir de Abril de 2023 para la versión 2.0. En este caso se podría usar:

pd.concat([df_books, df_books])

Para más info pueden visitar: Pandas

A partir de pandas 2.0, se eliminó append
Es necesario utilizar concat en su lugar

df = pd.concat([df, pd.DataFrame([nueva_fila])], ignore_index=True)

en este caso:

df_books = pd.concat([df_books, pd.DataFrame(df_books)], ignore_index=True)

¿Por qué se eliminó?

Frecuentemente vemos a nuevos usuarios de pandas intentar codificar como lo harían en python puro. Usan iterrows para acceder a elementos en un bucle, o append de forma similar a list.append de python.

Sin embargo, como se indica en el error #35407 de pandas, append de pandas y list.append no son realmente lo mismo. list.append está en su sitio, mientras que append de pandas crea un nuevo DataFrame

.
Les dejo la documentacion de pandas.concat: https://pandas.pydata.org/docs/reference/api/pandas.concat.html

Dejo mis apuntes de esta clase aqui

No me quedó muy claro la forma de usar
df.append() y encontré un página bastante útil que explica la función en profundidad

Estuve un rato batallando con un error ![](https://static.platzi.com/media/user_upload/image-a7ec7682-e5ff-4045-a657-66f64131c1d5.jpg) Y segun lo que averigue es porque a partir de pandas 2.0, `append` se elimino en su lugar se debe usar concat ![](https://static.platzi.com/media/user_upload/image-00e3a3af-46e6-4817-8765-c073e423a626.jpg) <https://pandas.pydata.org/docs/whatsnew/v2.0.0.html#removal-of-prior-version-deprecations-changes> Para el ejemplo tuve que hacer esto: ```js df_books = pd.concat([df_books,df_books], ignore_index=True) df_books ```![](https://static.platzi.com/media/user_upload/image-b1f18fb5-c235-49a1-bec2-22a9b94758be.jpg)
append esta deprecado, la nueva forma es usando concat: <https://pandas.pydata.org/pandas-docs/version/1.4/reference/api/pandas.DataFrame.append.html>

Al parecer df_books.append() está obsoleto, me aparece este error cuando lo trato de usar:

The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.

Agregar y eliminar datos

  • El método que nos permite eliminar datos de un dataframe es el método drop, su parámetro principal es la ubicaión de los datos a borrar, tambien podemos indicar el eje de borrado con el parámetro axis (0 para borrar una fila y 1 para borrar una columna)

  • También podemos usar método nativo de python del: del df[col]

  • En el caso querramos agregar una nueva columna lo hacemos declarando esta columna: df[col] = data

  • Para agregar una nueva fila usamos el método append: df.append(data)

ya no deberiamos usar .append(), sino pd.concat
entonces…

registro_nuevo={'Nombres':['Cien años de Soledad'], 
'Autores':['Gabriel García Márquez'],
'User Rating': [4.8], 
'Reviews':[20000],
'Year':[1967],
'Genre':['Fiction'], 
'Nueva_col': [20],
'Rango': [1101]}

una_fila = pd.DataFrame(registro_nuevo)
nueva_fila = pd.concat([df_books, una_fila], axis=0, ignore_index=True)

nueva_fila

para agregar mas filas solo las agregamos al diccionario

nuevas_filas = {'Nombres':['Cien años de Soledad', 'Padre rico, padre pobre'], 
'Autores':['Gabriel García Márquez', 'Robert Kiyosaki'],
'User Rating': [4.8, 4.9], 
'Reviews':[20000,30000],
'Year':[1967,1999],
'Genre':['Fiction','Non Fiction'], 
'Nueva_col': [20,26],
'Rango': [1101, 1102]}

df_temp = pd.DataFrame(nuevas_filas, index = [1101,1102])

print('','\n', df_temp,'\n')

nuevo_df = pd.concat([df_books, df_temp], axis=0)
nuevo_df

Tomen en cuenta esto:

The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.

Ahora para agregar las columnas se puede hacer con:

pd.concat([df_books, df_books])

Información resumida de esta clase
#EstudiantesDePlatzi

  • Con la función .drop puedo borrar datos de mi DataFrame, esta función borra los datos en la salida, pero no del DataFrame original

  • Para borrarlo del DataFrame original utilizó el siguiente atributo: inplace=True

  • Con la función del, que es propia de Python, también puedo borrar registros

  • Puedo usar drop para borrar filas, con la diferencia que ahora en el axis=0

  • Podemos borrar listas de filas o por rangos

  • Para agregar columnas lo hago con la siguiente sentencia: Nombre_del_df[“nombre_columna”] = np. Tipo de dato

  • Puedo agregar columnas de otras fuentes de datos, siempre y cuando estas tengan la misma longitud

  • Con la función append puedo agregar filas y registros

Para eliminar filas que hayamos filtrado con loc, solo se debe usar el metodo index y este retornara una lista con los indices de las filas filtradas para usar con loc. Este es un ejemplo con otro dataframe llamado df:

df.drop(df.loc[df.housing_median_age == 27].index, axis=0) #filtrando con loc

También pueden agregar columnas mediante listas

Ahora con pandas 2.0 se elimino la funcion .append La forma correcta de hacerlo ahora es: pd.concat(\[df\_books, df\_books])
Importante: A partir de Pandas 2.0, el método append() se eliminó. Para agregar filas a un DataFrame, puedes usar la función pd.concat(). Aquí estás como puedes sustituir append() por concat():
Parece que no existe más el método append, ahora se usa \_append
No me funcionó append, al parecer fue eliminado de pandas. df\_books1 = pd.concat(\[df\_books, df\_books])
Hola Platzi, tienen el curso actualizado de Pandas y Numpy, varias funciones que muestran en el curso ya no se utilizan e incluso estan deprecradas y ya no tienen soporte. Muchas gracias.
El método `append` ya no es soportado directamente por los objetos DataFrame en las versiones más recientes de pandas. En lugar de append, se puede usar el método `concat` de pandas para concatenar DataFrames. `pd.concat([df_books, df_books], ignore_index=True)` Concatena df\_books con df\_books. El parámetro ignore\_index=True hace que los índices en el DataFrame resultante sean renumerados, en lugar de mantener los índices originales.
Append ya no funciono, les dejo el codigo que me funciono. `pd.concat([df_books,df_books],ignore_index=True)` ![](https://static.platzi.com/media/user_upload/append-647fc995-0160-483a-b3fb-eea77a0619e8.jpg)
append ya no funciona. encontre esta solucion para duplicar `df_books = pd.concat([df_books, df_books], ignore_index=True)data`
`.append `y `.concat` no funcionaron para mi, pero pude añadir filas vacías, creando un nueva data frame vacío con las mismas columnas del main dataframe: `empty_rows=2` `empty_data = {col: ['' for _ in range(empty_rows)] for col in df.columns}` `empty_df = pd.DataFrame(empty_data)` Y luego uniéndolo ambos de la siguiente manera: `df = pd.concat([df,empty_df])` Además de resetear el index para que todo quede ordenado `df.reset_index(drop=True, inplace=True)` Y, para añadir filas ya con datos fue más sencillo: `df.loc[len(df)] = {'a':'bla','b':'bla','b':'bla'}`

a hoy 13 de marzo de 2024 el método .append en pandas será deprecado, otra forma de lograr agregar datos a nuestro dataframe como lo explicó el profesor es con pd.concat:

pd.concat([df_players_2, df_players_2], ignore_index=True)

Estoy impresionado sobre el uso de agregar y eliminar datos en pandas. Si que hay mucho por aprender. Espero seguir mejorando.

A partir de la versión 2.0 de Pandas el método “.append()” fue removido de los Dataframes.

En su reemplazo se puede utilizar “.concat()” directamente desde la clase de Pandas (pd)
Documentación: https://pandas.pydata.org/docs/reference/api/pandas.concat.html

Agregando filas

<h5>La opción ignore_index=True reinicia los índices para que sean continuos en el DataFrame resultante.</h5>

Agregando columnas:

.droplevel()

.dropna()

.drop_duplicates()

Les paso la nueva forma de realizar el añadido de filas: ```python pd.concat(\[df\_books, df\_books]) \#                                                   Name                    Author  ...  Nueva\_columna  Rango# 0                        10-Day Green Smoothie Cleanse                  JJ Smith  ...            NaN      0 \# 1                                    11/22/63: A Novel              Stephen King  ...            NaN      1 \# 2              12 Rules for Life: An Antidote to Chaos        Jordan B. Peterson  ...            NaN      2 \# ..                                                 ...                       ...  ...            ...    ... \# 547  You Are a Badass: How to Stop Doubting Your Gr...               Jen Sincero  ...            NaN    547 \# 548  You Are a Badass: How to Stop Doubting Your Gr...               Jen Sincero  ...            NaN    548 \# 549  You Are a Badass: How to Stop Doubting Your Gr...               Jen Sincero  ...            NaN    549 \# \[1100 rows x 9 columns] """ FIJARSE en la última línea de respuesta, es el doble que el DataFrame original  """
Les comento, que a día de hoy (26/11/2023) el comando 'append' de Pandas está obsoleto y en total ausencia en la versión 2.13 de Pandas. Es necesario usar el comando 'concat', les dejo el enlace: <https://pandas.pydata.org/docs/reference/api/pandas.concat.html>
## 🦄**Agregar o eliminar datos con Pandas** En el día a día como científicos de datos, nos encontraremos con distintas situaciones en las que necesitaremos eliminar datos. ### 🌸Drop Lo usamos para eliminar filas o columnas de un DataFrame. `df.drop('columna', axis=1) # Elimina una fila df.drop('fila_a_eliminar', axis=0)` 🌸Del Lo usamos para eliminar columnas directamente. `del df['columna_a_eliminar']` `💡axis=1` indica que la operación `drop` se realizará a lo largo de las columnas. Si se usara `axis=0`, se eliminarían filas en lugar de columnas.
💡No olviden esto: 💚Usar "Drop" crea un nuevo Dataframe sin que modifiquemos el original. 🛑Mientras que "Del" modifica el DataFrame directamente.

pd.concat([df,df],axis=0)

axis = 0 concetena en filas
axis = 1 concatena en columnas

df["Nueva columna"] = range(0,550)
df

esta linea de codigo al agregar una nueva columna basados en el df que ya tienen.
el otro es un poco practico porque no requiere que tu conozcas la estructura del df, este solo escribes un numero int(porque tu ya sabes cuantas filas o columnas tiene)

Oigan, no se confién de la info que dejan en los recursos la estoy viendo de hace varias clases y tiene errores y no explica bien muchas cosas. Antes de poner estos apuntes como recursos de la clase deberían fijarse si realmente da la información correctamente.

En las nuevas versiones de pandas, append ha sido removido Se puede hacer lo mismo con pd.concat ```js df_books = pd.concat([df_books,df_books],ignore_index=True) ```
Me aparece este error AttributeError: 'DataFrame' object has no attribute 'append' Creo que append ya ha sido eliminado
A alguien le abre la sección de recursos?![](https://static.platzi.com/media/user_upload/Captura%20de%20Pantalla%202023-09-24%20a%20la%28s%29%206.26.50%20p.%C2%A0m.-13f97649-371d-4ebc-83e8-cb905957e723.jpg)
Creo que ahora por alguna razón se esta utilizando en la verisones nuevas de python .\_append en lugar de .append

Para el momento que escribo esto (20-09-2023) el método .append() está obsoleto en Pandas.

Se recomienda usar el método .concat()
Para lograr el resultado del profe hice lo siguiente:

Si alguien tiene una mejor forma me ayudaría un montón.!!!

Cree una columna en la que podemos ver el precio en pesos mexicanos.

pesos = np.array(df_books['Price'])

df_books['Precio en pesos mexicanos'] = pesos *20
df_books.head(15)

me salio el siguiente mensaje:

<ipython-input-28-2d66bcf3bac0>:1: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.
  df_books.append(df_books)

Quiere decir que append no estara disponible en futuras versiones y que es mejor usar

.concat

no son columnas, son filas

Las funciones ‘DataFrame.append()’ y ‘Series.append()’ estas obsoletas desde la versión 1.4.0 y en su lugar se recomienda usar ‘DataFrame.concat()’ y ‘Series.concat()’, les comparto el enlace de esta información en la pagina de Pandas.

Hola compañeros el parámetro “inplace=” se utiliza en muchas funciones y creo que su comprensión es muy importante, aquí les dejo un articulo donde lo explica y los principales errores al utilizarlo.

la función

.append()

ha dejado te tener soporte en futuras actualizaciones se recomienda utilizar:

pd.concat()

como remplazo, se vera en la clase 20.

creacion de columna

14. Agregar o eliminar datos con Panda

import pandas as pd
import numpy as np

df_books = pd.read_csv('/bestsellers-with-categories_e591527f-ae45-4fa5-b0d1-d50142128fa6.csv')

df_books.head()

Drop columns

df_books.drop('Genre',axis=1).head(2) # borra columnas

df_books=df_books.drop('Year',axis=1)
df_books.head(2)

del df_books['Price']

df_books.drop(0,axis=0).head(2) # borra filas

Add columns

df_books.head(2)

df_books['NC'] = np.nan # añade una nueva columna
df_books.head(2)

df_books.shape[0]

data=np.arange(0,df_books.shape[0])
df_books['Rango'] = data

df_books

## Add rows

df_books.append(df_books)

Para borrar columnas por su indice, pueden usar lo siguiente:

df_books = df_books.drop(df_books.columns[[1, 3]], axis=‘columns’

Tuve problemas al ejecutar .append(). Al parecer la versión 2 de pandas ya no acepta .append()

Para evitar instalar la versión anterior, en vez de usar .append() usé: pd.concat([df, df_nueva fila])

ignorar la última fila porque ejecuté el código dos veces, ja

Desde la versión 14 de pandas el método append está en estado de “deprecated” o sea, debes migrar a la nueva manera de agregar filas que es con el método concat() ya que en un futuro, pandas dejará de usar append()

Aquí hay un blog que explica esto mas a fondo:

https://www.wrighters.io/dont-append-rows-to-a-pandas-dataframe/

Para agregar datos, tambien pueden crear el DataFrame y entonces lo insertan en la funcion append.

Que interesante los comando para agregar o eliminar columnas y filas.

Mi resumen #15 (Notion + Notas de Cornell)

notas de la clase

en esta clase miraremos como agregar, eliminar o separar datos de mi datafrem
________________________________________
[35]
0 s
import pandas as pd
import numpy as np

________________________________________
[2]
0 s
pd.read_csv("/content/bestsellers-with-categories_.csv")
________________________________________
[14]
0 s
df_books = pd.read_csv("/content/bestsellers-with-categories_.csv",sep=",",header=0)
________________________________________
[15]
0 s
df_books.head(4)
#con head podemos tomar las columnas que indiquemos 
________________________________________
drop columnas acá podemos eliminar las columnas de un datafrem
________________________________________
[16]
0 s
df_books.drop("Genre",axis=1).head(2)
#asi de esta manera estamos eliminando una columna,
#con drop, lo borra propiamente en le salida y no del datafrem
________________________________________
[7]
0 s
df_books.head(4)
________________________________________
[18]
df_books.drop("Genre",axis=1,inplace=True)
#con la funcion (inplaceTrue), borramos permanentemente la columna que celecionemos
#de nuetro datafrenm
________________________________________
[19]
0 s
df_books.head(2)
________________________________________
[20]
0 s
df_books.drop("Year",axis=1)
________________________________________
[21]
del df_books['Price']
#(del), funcion propia de Python no es muy recomendable usarla en pandas
#pero también nos sirve para borrar en nuestros datafrenm
________________________________________
[23]
0 s
df_books.head(4)
________________________________________
drop rows
este me sirva para borrar filas de manera muy fácil
________________________________________
[24]
df_books.drop(0,axis=0).head(4)
#aca estamos borrando la posicion 0 la fila o de nuetro datafrenm 
#funciona al igual como estábamos borrando anteriormente 
________________________________________
[25]
df_books.drop([0,1,2,3],axis=0).head(4)
#aca estamos borrando una lista directamente de índices 
________________________________________
[26]
df_books.drop(range(0,20),axis=0).head(4)
#aca estamos borrando por rangos, este funciona con tupla directamente, es una funcion
#de Python y me borrara los primeros 10 datos 
________________________________________
*add columns *
con add podemos agregar nuevas columnas a nuestros datafrem
________________________________________
[28]
0 s
df_books.head(4)
________________________________________
[34]
0 s
from pandas.compat import numpy
df_books["nueva_columna"] = np.nan
df_books
#con esta funcion y np puedo agregar una nueva columna
#agregamos nan que es un valor no numérico 
#asi de simple puedo generar una nueva columna en cuarquier datafrem (["nueva_columna"] = np.nan)
________________________________________
[31]
df_books["nueva_columna"] = np.nan
df_books.head(4)
#aca asignamos la función columnas y la cantidad que deseamos 
________________________________________
[32]
df_books.shape[0]
#con esta funcion me doy cuenta cuantas filas o ejemplos, tengo en mi data frem
550
________________________________________
[36]
data = np.arange(0,df_books.shape[0])
data
#aca me arroja una lista desde cero hasta 549
#data es un objecto de tipo numpy
array([  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,
        13,  14,  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,
        26,  27,  28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38,
        39,  40,  41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51,
        52,  53,  54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,
        65,  66,  67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,
        78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,
        91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
       117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
       130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
       143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
       156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
       169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
       182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
       195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
       208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
       221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
       234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
       247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
       260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
       273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
       286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
       299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
       312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
       325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
       338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
       351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
       364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
       377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
       390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
       403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
       416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
       429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
       442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
       455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
       468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
       481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
       494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
       507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
       520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
       533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
       546, 547, 548, 549])
________________________________________
[37]
0 s
data = np.arange(0,df_books.shape[0])
________________________________________
[38]
df_books["Rango"] = data
#aca generamos una nueva columna con los datos exactamente ordenados como los tenia en la lista numpy
# una de las reglas es todo rando que asignemos como en este caso (data) debe tenera 
#la misma longitud a nivel de filas rows, o sino nos saldra un error 
________________________________________
[39]
1 s
df_books
________________________________________
add rows o filas
agregando filas a mi datafrem
________________________________________
[40]
df_books.append(df_books)
#pandas tiene muchas maneras de agregar filas, pero esta es la mas rapida y facil
#append nos funciona tal cual como listas en python, que simplemente para anexar 
#registros y filas 
#aca estamos anexando de si mismo asi miso, osea estamos agregando la misma cantidad
#de filas a nuetro datafrem lo estamos duplicando 
# asi funciona con cada registro que tenga en append, puedo agregar tuplas o muchos
#otros objectos y append siempre me lo lleva a nivel de filas 

> 

Excelente explicacion