Tengo el siguiente código que importa un archivo CSV. Hay 3 columnas y quiero establecer las dos primeras en variables. Cuando configuro la segunda columna a 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 configurar
energy = df.index
que encontré en otra publicación pero que da como resultado "KeyError: 'index'"
index.name = None
.Al leer desde y hacia su archivo CSV, incluya el argumento,
index=False
por ejemplo:y leer del csv
Esto debería evitar el problema, por lo que no necesita solucionarlo más tarde.
fuente
index_col=False
.df.to_sql("table",cursor,if_exists="append",index=False)
también corrige el error sqlitesqlite3.OperationalError: table message has no column named index
index=False
parato_excel()
yindex_col=False
conread_csv()
pandas 0.23.4. : - /df.reset_index(drop=True, inplace=True)
fuente
drop
: "No intente insertar el índice en las columnas del marco de datos. Esto restablece el índice al índice entero predeterminado". pandas.pydata.org/pandas-docs/stable/generated/…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 se reemplazará por una de las columnas que haya elegido.
fuente
Si su problema es el mismo que el mío, solo desea restablecer los encabezados de columna de 0 a tamaño de columna. Hacer
EDITAR:
No es una buena idea si tiene tipos de datos heterogéneos. Mejor solo use
fuente
puede especificar qué columna es un índice en su archivo csv utilizando el parámetro index_col de la función from_csv si esto no resuelve su problema, proporcione ejemplos de sus datos
fuente
Una cosa que hago es
df=df.reset_index()
entoncesdf=df.drop(['index'],axis=1)
fuente
df.reset_index().drop(columns=['yourfirstindex', 'yoursecondindex'])
que funciona con 'índice' solo en el caso estándar de que el índice no tenga un nombre y luego se convierta en una columna llamada 'índice' condf.reset_index().drop(columns=['index'])
. El parámetro agregadoaxis=1
es el predeterminado. Este método no se recomienda, @ SubhojitMukherjeereset_index(inplace=True)
funciona "en el lugar" y, por lo tanto, ahorra memoria.