Saya sedang mencari cara yang elegan untuk mengubah nama kolom yang ditentukan dalam a DataFrame
.
mainkan data ...
import pandas as pd
d = {
'one': [1, 2, 3, 4, 5],
'two': [9, 8, 7, 6, 5],
'three': ['a', 'b', 'c', 'd', 'e']
}
df = pd.DataFrame(d)
Solusi paling elegan yang saya temukan sejauh ini ...
names = df.columns.tolist()
names[names.index('two')] = 'new_name'
df.columns = names
Saya berharap untuk satu-liner sederhana ... upaya ini gagal ...
df.columns[df.columns.tolist().index('one')] = 'another_name'
Semua petunjuk diterima dengan rasa terima kasih.
Karena
inplace
argumen tersedia, Anda tidak perlu menyalin dan menetapkan kembali kerangka data asli, tetapi lakukan sebagai berikut:sumber
Bagaimana dengan?
sumber
df['new_name']
(dan hal-hal panda lainnya) setelah mengubah variabel seperti diuraikan di atas. Komentar Anda mungkin valid ketika aslinya dikirim.rename
metode adalah solusi yang lebih baik.Panda 0,21 sekarang memiliki parameter sumbu
Metode rename telah memperoleh parameter sumbu untuk mencocokkan sebagian besar dari sisa API panda.
Jadi, selain ini:
Anda dapat melakukan:
atau
sumber
pd.__version__
untuk memeriksa versi AndaJika Anda tahu kolom # mana itu (pertama / kedua / ke-n) maka solusi ini yang diposting pada pertanyaan serupa berfungsi terlepas dari apakah namanya atau tidak disebutkan namanya, dan dalam satu baris: https://stackoverflow.com/a/26336314/ 4355695
sumber
Untuk mengganti nama kolom di sini adalah yang sederhana yang akan bekerja untuk
Default(0,1,2,etc;)
kolom kedua dan yang sudah ada tetapi tidak banyak berguna untuk kumpulan data yang lebih besar (memiliki banyak kolom).Untuk kumpulan data yang lebih besar kita dapat mengiris kolom yang kita butuhkan dan menerapkan kode di bawah ini:
sumber
Kode pendek berikut dapat membantu:
Hapus spasi dari kolom.
sumber
AttributeError: 'int' object has no attribute 'replace'
bisakah Anda mengembangkannya.panda versi 0.23.4
Untuk catatan:
sumber
Opsi lain adalah dengan cukup menyalin & menjatuhkan kolom:
Setelah itu Anda mendapatkan hasilnya:
sumber