鑑於我有一個名單,我怎麼能解開它變成一個熊貓的數據幀,例如:打開包裝列表爲大熊貓
data = {u'2344': ["id", "value1", "value2", "01", "Addf112", "Addf113", "02", " ", "Addf213"]}
>> id value1 value2
01 Ad112 Ad113
02 Ad213
鑑於我有一個名單,我怎麼能解開它變成一個熊貓的數據幀,例如:打開包裝列表爲大熊貓
data = {u'2344': ["id", "value1", "value2", "01", "Addf112", "Addf113", "02", " ", "Addf213"]}
>> id value1 value2
01 Ad112 Ad113
02 Ad213
你不得不提取列名的單個元素,然後構建一個列表包括2只列出了您的2行數據:
In [23]:
data = {u'2344': ["id", "value1", "value2", "01", "Addf112", "Addf113", "02", " ", "Addf213"]}
pd.DataFrame(columns = data['2344'][:3], data=[data['2344'][3:6], data['2344'][6:]])
Out[23]:
id value1 value2
0 01 Addf112 Addf113
1 02 Addf213
的動態方法將是使用一個組塊(從答案之一修改,以此question)來構建字典並使用此構造DF :
In [59]:
def chunker(seq, stride):
cols = seq[:stride]
data = [seq[stride:][pos::stride] for pos in range(0, stride)]
return dict(zip(cols,data))
pd.DataFrame(chunker(data['2344'],3))
Out[59]:
id value1 value2
0 01 Addf112 Addf113
1 02 Addf213
是它可以動態獲取行而不需要手動指定它們data = [data ['2344'] [3:6],data ['2344'] [6:]]'? – ArchieTiger 2015-03-18 21:12:36
你必須知道你的數據結構之前,在這種情況下,你必須知道列是前三個值,以下3個值是行數據 – EdChum 2015-03-18 21:14:16
我已經添加了一些代碼,應該能夠處理可變長度或行在列表 – EdChum 2015-03-18 21:29:33
對於'''''''''參數使用前三個值,對於數據使用前三個值(其中三個爲一組)。如果列表名稱爲''''''',那麼'''zip(a [:: 3],a [1 :: 3],[2 :: 3]'''應該可以讓你開始。 – wwii 2015-03-18 21:02:08