2014-09-13 35 views
0

我試圖填補大熊貓面板中for循環:如何初始化空大熊貓面板

dp = pd.Panel() 
for i in range(x): 
    # read data in 2D numpy array as 'arr' 
    dp[i] = arr 

這引起了:

ValueError: shape of value must be (0, 0), shape of given object was (309, 495) 

嘗試:

dp = pd.Panel() 
for i in range(x): 
    ... 
    dp.update({i: arr}) 

不引發錯誤,但完成後我得到空的窗格。

如果我初始化面板與單個項目,我可以使用第一種方法來更新面板,但我想初始化空面板。

那麼如何初始化空的熊貓面板,能夠添加數據呢?

回答

1

看來有必要與預期數據的形狀來初始化面板,所以在我的情況下,這個工作得很好:

dp = pd.Panel(major_axis=range(309), minor_axis=range(495)) 
for i in range(x): 
    # read data in 2D numpy array as 'arr' 
    dp[i] = arr 

同樣適用於數據框 - 如果用戶想將列添加到空數據幀它如果DataFrame索引未定義,將會失敗,因此:

df = DataFrame(index=range(5)) 

是用5行初始化空DataFrame的正確方法。