Mendapatkan daftar daftar ke dalam panda DataFrame

177

Saya membaca konten spreadsheet menjadi panda. DataNitro memiliki metode yang mengembalikan pilihan sel persegi sebagai daftar daftar. Begitu

table = Cell("A1").table

memberi

table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]]

headers = table.pop(0) # gives the headers as list and leaves data

Saya sibuk menulis kode untuk menerjemahkan ini, tetapi dugaan saya adalah penggunaannya sangat sederhana sehingga harus ada metode untuk melakukan ini. Sepertinya tidak dapat menemukannya di dokumentasi. Adakah petunjuk untuk metode yang akan menyederhanakan ini?

Joop
sumber

Jawaban:

266

Hubungi pd.DataFramekonstruktor secara langsung:

df = pd.DataFrame(table, columns=headers)
df

   Heading1  Heading2
0         1         2
1         3         4
EdChum
sumber
84

Dengan pendekatan yang dijelaskan oleh EdChum di atas, nilai-nilai dalam daftar ditampilkan sebagai baris. Untuk menampilkan nilai daftar sebagai kolom dalam DataFrame, cukup gunakan transpose () sebagai berikut:

table = [[1 , 2], [3, 4]]
df = DataFrame(table)
df = df.transpose()
df.columns = ['Heading1', 'Heading2']

Outputnya adalah:

      Heading1  Heading2
0         1        3
1         2        4
Shoresh
sumber
6

Bahkan tanpa popdaftar bisa kita lakukan denganset_index

pd.DataFrame(table).T.set_index(0).T
Out[11]: 
0 Heading1 Heading2
1        1        2
2        3        4

Memperbarui from_records

table = [['Heading1', 'Heading2'], [1 , 2], [3, 4]]

pd.DataFrame.from_records(table[1:],columns=table[0])
Out[58]: 
   Heading1  Heading2
0         1         2
1         3         4
YOBEN_S
sumber