更新Panel切片

时间:2016-07-19 15:23:44

标签: pandas panel slice loc

我需要更新一个面板切片,其中一些值从数据帧中退出。即使我没有收到任何错误,它也无法正常工作。它出了什么问题?

for

请注意它的尺寸不一样,我想使用索引来对齐数据。 我知道转换成具有相同形状的数组我可以获得我想要的但我想找到另一种解决方案。

感谢您的帮助。

L,

1 个答案:

答案 0 :(得分:0)

你正陷入一些半复杂的维度问题。

让我们稍微分解一下你的作业。

siPanel.loc[:, [0], [0]] = df.loc[:, ['sbc']]

df.loc[:, ['sbc']]是一个形状为10 x 1的数据框。 : 10给了['sbc']1给了df.loc[:, 'sbc']。如果你完成10 x 0形状将是(10, )siPanel.loc[:, [0], [0]],这将是一个系列。我要说一个好的规则就是根据需要使用尽可能少的维度。

16 x 1 x 1是一个形状(16, )的面板。使用前一段中的课程,您知道我们可以使用siPanel.loc[:, 0, 0]将维度缩减为siPanel.loc[:, 0, 0] = df.loc[:, 'sbc'] siPanel.loc[:, 0, 0] 1998 NaN 1999 NaN 2000 0.677186 2001 0.030134 2002 0.003945 2003 0.894504 2004 0.913937 2005 0.553544 2006 0.199962 2007 0.384449 2008 0.491008 2009 0.408632 2010 NaN 2011 NaN 2012 NaN 2013 NaN Name: 0, dtype: float64 。现在这也是一个系列,并且任务可以毫无问题地完成。

试试这个:

select sum(total1) + SELECT sum( total2 )
from balance WHERE id=( SELECT max(id) 
FROM balance)