如何初始化空的pandas Panel

时间:2014-09-13 02:07:54

标签: python pandas

我试图在for循环中填写pandas Panel:

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})

不会引发错误,但在完成后我会看到空白窗格。

如果我使用单个项目初始化Panel,我可以使用第一种方法更新面板,但我想初始化空面板。

那么如何初始化空的pandas Panel,能够添加数据呢?

1 个答案:

答案 0 :(得分:1)

似乎有必要使用预期数据的形状初始化Panel,所以在我的情况下,这工作正常:

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 - 如果用户想要添加一个列来清空DataFrame,如果未定义DataFrame索引,它将失败,因此:

df = DataFrame(index=range(5))

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