如果我有来自Excel电子表格的数据 - 该格式规定只有更改的行具有填写的第一列(其他条目为空)。然后假定该值持续N行,直到值再次改变。奇怪的熊猫行为更新NaN与以前行的值
所以熊猫进口此如下 - 这里没有suprises:
动物
猫
NaN的
NaN的
NaN的
狗
NaN的
NaN的
牛
的NaN
我需要的最后一个有效值来替换NaN的 - 所以在上面的例子:
动物
猫
猫
猫
猫
狗
狗
狗
牛
奶牛
我想出了动物的下面,假设列名:
df.Animal.where(〜df.Animal.isnull(),df.Animal.shift())
如果熊猫在序列运行,那么它应该在以前的“动物”应该始终填充 - 但是当我运行这个时,我看到只有代表Cat,Dog和Cow的第一个NaN被更新,其他NaN仍然存在。
如果我用一个硬编码的字符串替换shift(),那么逻辑看起来很好。
我认为这意味着熊猫不会以严格的顺序运行,并且可能会并行化地图操作。
在哪种情况下(或者如果我还在做其他事情) - 我该怎么做?
谢谢!
Phil。
是的!证明解决问题 - 非常感谢!仍然好奇为什么我的原始建设失败,然后我把问题关闭。 – Phil
请参阅我的编辑。 – blacksite
是的 - 这是我怀疑 - 再次感谢,非常有帮助! – Phil