Eliminar columna de índice en pandas al leer un csv

Tengo el siguiente código que importa un archivo CSV. Hay 3 columnas y quiero configurar las dos primeras variables. Cuando configuro la segunda columna con la variable “eficiencia”, la columna de índice también se agrega. ¿Cómo puedo deshacerme de la columna de índice?

df = pd.DataFrame.from_csv('Efficiency_Data.csv', header=0, parse_dates=False) energy = df.index efficiency = df.Efficiency print efficiency 

Traté de usar

 del df['index'] 

después de que establezca

 energy = df.index 

que encontré en otra publicación pero que resulta en “KeyError: ‘index'”

DataFrames y Series siempre tienen un índice. Aunque se muestra junto a la (s) columna (s), no es una columna, por lo que del df['index'] no funcionó.

Si desea reemplazar el índice con números secuenciales simples, use df.reset_index() . Sugiero encarecidamente leer un poco de la documentación de los pandas, como 10 minutos para los pandas para tener una idea de por qué el índice está allí y cómo se usa.

Cuando lea hacia y desde su archivo CSV, incluya el argumento index=False por ejemplo:

  df.to_csv(filename, index=False) 

y leer desde el csv.

 df.read_csv(filename, index=False) 

Esto debería evitar el problema, por lo que no es necesario solucionarlo más adelante.

df.reset_index(drop=True, inplace=True)

Puede establecer una de las columnas como un índice en caso de que sea un “id”, por ejemplo. En este caso, la columna de índice será reemplazada por una de las columnas que ha elegido.

 df.set_index('id', inplace=True) 

Si su problema es el mismo que el mío, solo desea restablecer los encabezados de columna de 0 al tamaño de columna. Hacer

 df = pd.DataFrame(df.values); 

EDITAR:

No es una buena idea si tiene tipos de datos heterogéneos. Mejor solo usa

 df.columns = range(len(df.columns)) 

puede especificar qué columna es un índice en su archivo csv usando el parámetro index_col de la función from_csv; si esto no resuelve su problema, proporcione un ejemplo de sus datos

Una cosa que hago es df=df.reset_index() luego df=df.drop(['index'],axis=1)