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?

Jawaban:


266

Hubungi pd.DataFramekonstruktor secara langsung:

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

   Heading1  Heading2
0         1         2
1         3         4

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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.