У меня есть следующий код, который импортирует файл CSV. Есть 3 столбца, и я хочу установить первые два из них в качестве переменных. Когда я устанавливаю для второго столбца переменную «эффективность», индексный столбец также присоединяется. Как мне избавиться от столбца индекса?
df = pd.DataFrame.from_csv('Efficiency_Data.csv', header=0, parse_dates=False)
energy = df.index
efficiency = df.Efficiency
print efficiency
Я пробовал использовать
del df['index']
после того, как я установил
energy = df.index
который я нашел в другом сообщении, но это приводит к "KeyError: 'index'"
index.name = None
.При чтении в файл CSV и из него включите аргумент,
index=False
например:и читать из CSV
Это должно предотвратить проблему, поэтому вам не нужно будет исправлять ее позже.
источник
index_col=False
.df.to_sql("table",cursor,if_exists="append",index=False)
также исправляет ошибку sqlitesqlite3.OperationalError: table message has no column named index
index=False
наto_excel()
иindex_col=False
сread_csv()
в пандах 0.23.4. : - /df.reset_index(drop=True, inplace=True)
источник
drop
: «Не пытайтесь вставить индекс в столбцы фрейма данных. Это сбрасывает индекс до целочисленного индекса по умолчанию». pandas.pydata.org/pandas-docs/stable/generated/…inplace=True
.Вы можете установить один из столбцов в качестве индекса, например, если это «id». В этом случае столбец индекса будет заменен одним из выбранных вами столбцов.
источник
Если ваша проблема такая же, как у меня, вы просто хотите сбросить заголовки столбцов с 0 до размера столбца. Делать
РЕДАКТИРОВАТЬ:
Не лучшая идея, если у вас разнородные типы данных. Лучше просто используйте
источник
вы можете указать, какой столбец является индексом в вашем файле csv, используя параметр index_col функции from_csv, если это не решает вашу проблему, пожалуйста, предоставьте пример ваших данных
источник
Одна вещь, которую я делаю, это
df=df.reset_index()
тогдаdf=df.drop(['index'],axis=1)
источник
df.reset_index().drop(columns=['yourfirstindex', 'yoursecondindex'])
, что он работает с 'index' только в стандартном случае, когда индекс не имеет имени, а затем становится столбцом с именем 'index' сdf.reset_index().drop(columns=['index'])
. Добавленный параметрaxis=1
- значение по умолчанию. Этот метод не рекомендуется, поскольку @SubhojitMukherjeereset_index(inplace=True)
работает "на месте" и, таким образом, экономит память.