2017-06-06 10 views
1

タプルのリストのリストをpandasデータフレームに変換しようとしていますが、その方法を理解することはできません。私のアドレスは、そのように構成されています。タプルのリストをpandasデータフレームに変換する

addresses = [ 
[('the vicars inn', 'house'), ('68', 'house_number'), ('church lane', 'road'), ('arlesey', 'city'), ('beds', 'house')], 
[('the old oak', 'house'), ('85', 'house_number'), ('church lane', 'road'), ('arlesey', 'city'), ('beds', 'house')], 
[('adj', 'road'), ('85', 'house_number'), ('high street', 'road'), ('arlesey', 'city'), ('beds', 'house')], 
[('arlesey community centre', 'house'), ('high street', 'road'), ('arlesey', 'city'), ('beds', 'house')], 
[('arlesey community centre', 'house'), ('high street', 'road'), ('arlesey', 'city'), ('beds', 'house')] 
] 

は理想的には、私がデータフレームを返却する必要がありますように:

 city   house    house_number  road 
0  arlesey  the vicars inn 68     church lane 
1  arlesey  the old oak  85     church lane 

私がこれまで試したことは、テーブルを旋回することであるが、それは意図を生産されていません結果:

pd.DataFrame.from_records(addresses[0]).pivot(columns=1, values=0) 

私の理想的なデータフレームを達成するには、どのような方法が必要ですか?

サム

+0

あなたが各レコードに2つの家を持っているようです。どちらをお持ちになりたいですか? – Psidom

答えて

2

あなたが辞書に各レコードを変換しDataFrame.from_recordsを使用することができます。

pd.DataFrame.from_records([{k: v for v, k in row} for row in addresses]) 

#  city house house_number road 
#0 arlesey beds    68 church lane 
#1 arlesey beds    85 church lane 
#2 arlesey beds    85 high street 
#3 arlesey beds    NaN high street 
#4 arlesey beds    NaN high street 
関連する問題