0
這是pandas documentation的一個示例。爲什麼複製panel4d中的項目?
import numpy as np
from pandas import *
randn = np.random.randn
data = { 'Label1' : Panel({ 'Item1' : DataFrame(randn(4, 3)) }),
'Label2' : Panel({ 'Item2' : DataFrame(randn(4, 2)) }) }
p4d = Panel4D(data)
子面板'Label1'
不應該包含一個數據幀'Item2'
,但是我得到的'Item1'
副本:
In [29]: p4d.ix['Label1','Item1',:,:]
Out[29]:
0 1 2
0 0.283740 0.123377 0.122482
1 0.756958 0.618638 -1.732440
2 0.070798 -0.621752 -0.196360
3 0.462558 -1.023808 0.234144
In [30]: p4d.ix['Label1','Item2',:,:]
Out[30]:
0 1 2
0 0.283740 0.123377 0.122482
1 0.756958 0.618638 -1.732440
2 0.070798 -0.621752 -0.196360
3 0.462558 -1.023808 0.234144
,反之亦然與'Label2'
和'Item1'
。
爲什麼功能Panel4d的行爲像這樣?
我寧願空的數據框(或至少一個填充NaN)而不是副本。有沒有辦法做到這一點?
謝謝解決方法。因爲一般來說,我們事先並不知道面板的所有項目,所以我想用'items = Index(set(np.concatenate([panel.items for listOfPanels])))'來獲取它們,然後重新對這些面板進行重新索引。雖然,我不確定這是否是最有效的方法。 – user3183540