columna de inserción de los pandas python

Estoy escribiendo código para insertar una nueva columna en un archivo csv:

import sys,os,csv,glob dir = os.path.dirname(__file__) import pandas as pd updatecsv() def updatecsv(): files = 'example.cs' df = pd.read_csv(files) df = df.convert_objects(convert_numeric=True) #until here, the code is running fine #now i wanted to add a new column in a specific index with all value =10 df.insert(2,'new',1000) 

Cuando ejecuto el código, no se dio ningún error. Cuando abro el archivo csv, la nueva fila no se agrega. Decidí verificar usando la shell de python:

 >>>files = 'example.csv' >>>df = pd.read_csv(files) >>>df = df.convert_objects(convert_numeric=True) >>>df ABCD 0 1 2 3 4 1 5 6 7 8 2 9 10 11 12 df['new']=13 >>>df ABCD new 0 1 2 3 4 13 1 5 6 7 8 13 2 9 10 11 12 13 >>>df['new'] = df['new'] +1 >>>df ABCD new 0 1 2 3 4 14 1 5 6 7 8 14 2 9 10 11 12 14 >>>df.insert(2,'win',22) >>>df AB win CD new 0 1 2 22 3 4 14 1 5 6 22 7 8 14 2 9 10 22 11 12 14 

Usando el shell de python, puedo ver el resultado actualizado solo en el shell. ¿Cómo lo actualizo en el archivo CSV también?

Cuando tu lo hagas –

 df.insert(2,'new',1000) 

Inserta la new columna en el DataFrame df (con todos los valores 1000) en la memoria. No lo vuelve a escribir automáticamente en el csv.

Para que los cambios realizados en el dataframe se escriban de nuevo en csv, debe usar el método DataFrame.to_csv() . Ejemplo –

 def updatecsv(): files = 'example.cs' df = pd.read_csv(files) df = df.convert_objects(convert_numeric=True) #until here, the code is running fine #now i wanted to add a new column in a specific index with all value =10 df.insert(2,'new',1000) df.to_csv(files) 

Además, debe asegurarse de definir la función antes de intentar llamarla.