Saya memiliki kode berikut yang mengimpor file CSV. Ada 3 kolom dan saya ingin mengatur dua kolom pertama menjadi variabel. Ketika saya mengatur kolom kedua ke variabel "efisiensi", kolom indeks juga ditempelkan. Bagaimana cara menghilangkan kolom indeks?
df = pd.DataFrame.from_csv('Efficiency_Data.csv', header=0, parse_dates=False)
energy = df.index
efficiency = df.Efficiency
print efficiency
Saya mencoba menggunakan
del df['index']
setelah saya set
energy = df.index
yang saya temukan di posting lain tetapi itu menghasilkan "KeyError: 'index'"
index.name = None
,.Saat membaca ke dan dari file CSV Anda menyertakan argumen,
index=False
jadi misalnya:dan membaca dari csv
Ini akan mencegah masalah sehingga Anda tidak perlu memperbaikinya nanti.
sumber
index_col=False
.df.to_sql("table",cursor,if_exists="append",index=False)
juga memperbaiki kesalahan sqlitesqlite3.OperationalError: table message has no column named index
index=False
untukto_excel()
danindex_col=False
denganread_csv()
di panda 0.23.4. : - /df.reset_index(drop=True, inplace=True)
sumber
drop
: "Jangan mencoba untuk memasukkan indeks ke dalam kolom dataframe. Ini menyetel ulang indeks ke indeks integer default." pandas.pydata.org/pandas-docs/stable/generated/…inplace=True
.Anda dapat mengatur salah satu kolom sebagai indeks jika itu adalah "id" misalnya. Dalam hal ini kolom indeks akan diganti dengan salah satu kolom yang Anda pilih.
sumber
Jika masalah Anda sama dengan masalah saya di mana Anda hanya ingin mengatur ulang header kolom dari 0 menjadi ukuran kolom. Melakukan
EDIT:
Bukan ide yang baik jika Anda memiliki tipe data yang beragam. Lebih baik gunakan saja
sumber
Anda dapat menentukan kolom mana yang merupakan indeks di file csv Anda dengan menggunakan parameter index_col dari fungsi from_csv jika ini tidak menyelesaikan masalah Anda, berikan contoh data Anda
sumber
Satu hal yang saya lakukan adalah
df=df.reset_index()
kemudiandf=df.drop(['index'],axis=1)
sumber
df.reset_index().drop(columns=['yourfirstindex', 'yoursecondindex'])
, ia bekerja dengan 'indeks' hanya dalam kasus standar di mana indeks tidak memiliki nama dan kemudian menjadi kolom yang disebut 'indeks' dengandf.reset_index().drop(columns=['index'])
. Parameter yang ditambahkanaxis=1
adalah default. Metode ini tidak disarankan, @ SubhojitMukherjeereset_index(inplace=True)
bekerja "di tempat" dan dengan demikian menghemat memori.