我试图在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,能够添加数据呢?
答案 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的正确方法。