リストのリストをpandas DataFrameに取得する


177

スプレッドシートの内容をパンダに読み込んでいます。DataNitroには、セルの長方形の選択をリストのリストとして返すメソッドがあります。そう

table = Cell("A1").table

与える

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

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

私はこれを翻訳するためのコードを書くのに忙しいのですが、これは非常に単純な使い方なので、これを行うための方法が必要だと思います。ドキュメントでそれを見つけることができないようです。これを簡単にするメソッドへのポインタはありますか?

回答:


266

pd.DataFrameコンストラクタを直接呼び出します。

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

   Heading1  Heading2
0         1         2
1         3         4

84

上記のEdChumで説明したアプローチでは、リストの値は行として表示されます。代わりにリストの値をDataFrameの列として表示するには、次のようにtranspose()を使用します。

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

出力は次のとおりです。

      Heading1  Heading2
0         1        3
1         2        4

6

popリストがなくてもset_index

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

更新 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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.