Saya memiliki array Numpy yang terdiri dari daftar daftar, mewakili array dua dimensi dengan label baris dan nama kolom seperti yang ditunjukkan di bawah ini:
data = array([['','Col1','Col2'],['Row1',1,2],['Row2',3,4]])
Saya ingin DataFrame yang dihasilkan memiliki Row1 dan Row2 sebagai nilai indeks, dan Col1, Col2 sebagai nilai header
Saya dapat menentukan indeks sebagai berikut:
df = pd.DataFrame(data,index=data[:,0]),
namun saya tidak yakin bagaimana cara terbaik menetapkan tajuk kolom.
Jawaban:
Anda perlu menentukan
data
,index
dancolumns
untukDataFrame
membangun, seperti pada:sunting : seperti dalam komentar @joris, Anda mungkin perlu mengubah di atas
np.int_(data[1:,1:])
untuk memiliki tipe data yang benar.sumber
DataFrame
itu, apakah tidak ada "jalan pintas"? Ini pada dasarnya adalah cara yangcsv
dimuat - dan dapat dikelola dengan penanganan default untuk banyak pembaca csv. Struktur analog untuk df akan berguna.Ini adalah solusi yang mudah dimengerti
sumber
Series
nama secara manual .. itu tidak dapat diskalakan.Saya setuju dengan Joris; sepertinya Anda harus melakukan ini secara berbeda, seperti dengan array rekaman numpy . Mengubah "opsi 2" dari jawaban hebat ini , Anda bisa melakukannya seperti ini:
sumber
Ini dapat dilakukan hanya dengan menggunakan from_records panda DataFrame
sumber
data = array([['','Col1','Col2'],['Row1',1,2],['Row2',3,4]])
.sumber
Menambahkan ke jawaban @ behzad.nouri - kita dapat membuat rutinitas pembantu untuk menangani skenario umum ini:
Mari kita coba:
sumber