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)