Saya memiliki kerangka data yang sudah ada yang harus saya tambahkan kolom tambahan yang akan berisi nilai yang sama untuk setiap baris.
Df yang ada:
Date, Open, High, Low, Close
01-01-2015, 565, 600, 400, 450
Df baru:
Name, Date, Open, High, Low, Close
abc, 01-01-2015, 565, 600, 400, 450
Saya tahu cara menambahkan kolom seri / bingkai data yang ada. Tetapi ini adalah situasi yang berbeda, karena yang saya butuhkan adalah menambahkan kolom 'Nama' dan mengatur setiap baris dengan nilai yang sama, dalam hal ini 'abc'.
.copy()
, sebelum menggunakan ini (kecuali jika itu besar atau sesuatu atau kinerja benar-benar diperhitungkan).Anda dapat menggunakan
insert
untuk menentukan di mana Anda ingin kolom baru berada. Dalam hal ini, saya gunakan0
untuk menempatkan kolom baru di sebelah kiri.sumber
df.insert(0,'coef_fix',1)
. Saya menggunakan JupyterLab dengan Python 3.0insert
beroperasiinplace
. Ini berarti bahwa nilai bingkai data baru tidak dikembalikan tetapi bingkai data asli telah dimodifikasi. Coba inidf = pd.DataFrame(0, range(1460), range(41)); df.insert(0, 'coef_fix', 1); df
Single liner bekerja
Buat
Name
kolom dan set semua baris keabc
nilaisumber
Ringkas apa yang disarankan orang lain, dan tambahkan cara ketiga
Kamu bisa:
tetapkan (** kwargs) :
akses seri kolom baru (akan dibuat) dan atur:
masukkan (loc, kolom, value, allow_duplicates = False)
di mana loc argumen (0 <= loc <= len (kolom)) memungkinkan Anda untuk memasukkan kolom di mana Anda inginkan.
'loc' memberi Anda indeks tempat kolom Anda berada setelah penyisipan. Sebagai contoh, kode di atas memasukkan Nama kolom sebagai kolom ke-0, yaitu akan dimasukkan sebelum kolom pertama, menjadi kolom pertama yang baru. (Pengindeksan dimulai dari 0).
Semua metode ini memungkinkan Anda untuk menambahkan kolom baru dari Seri juga (cukup gantikan argumen default 'abc' di atas dengan seri).
sumber