Pandas Stack()意外结果

2024-10-02 22:28:44 发布

您现在位置:Python中文网/ 问答频道 /正文

pandas stack()操作在实践中产生了一些意想不到的结果,我无法用一个小的工作示例来复制这些结果。我很好奇是否有其他人遇到过这种行为,是否有可能解释其根本原因。首先,一个小的可复制的例子演示了我要做的:

data = {'kpiOne': [1,1,1,1,1,2,2,2,2,2],
'kpiTwo': [3,3,3,3,3,4,4,4,4,4],
'kpiThree': [5,5,5,5,5,6,6,6,6,6],
'PrePost': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', ]}
dfr = pd.DataFrame(data)
dfr = dfr.groupby('PrePost').describe()
dfr = dfr.stack(0) #this is where my problem is in practice, but works fine in this example
dfr

以下是我在实际数据中使用的代码,以防这里有任何相关内容:

kpiSum = dfr[(dfr.filter_any == False) & (dfr.version == 'After')].groupby('waveTwoExp')[kpi].describe()
kpiSum = kpiSum#.stack(0)
kpiSum

输出如下所示(注释符号就位)I堆栈(0): [堆放前][1] [1] :https://i.stack.imgur.com/cMTAK.png

删除注释符号和堆栈(0)时,输出如下所示: [堆叠后][2] [2] :https://i.stack.imgur.com/whXZ7.png

如果仔细观察,您会注意到值的堆叠不正确。堆叠前KPI“uarl”的平均值正确-765。叠加后,KPI“uarl”的平均值来自下一个级别0列“alCost”或797484。我不明白为什么会发生这种转变。你知道吗

奇怪的是:

  1. 我的可复制的例子没有表现出这种行为和更多 重要的是:
  2. 在升级到Jupyter5.0之前,我的代码栈(0)运行良好

请让我知道如果我的问题是明确的!还有其他人有这种行为吗?你知道吗

谢谢!
克里斯


Tags: 代码inhttpsdataisstack堆栈符号