Pandas DataFrame上的Set_index()会产生意外结果

时间:2018-01-24 17:37:09

标签: python pandas

之前我问过这个问题,但问题因为不清楚而被降级。所以我删除了它。

我希望这个重新制作的版本会更加清晰!

错误的代码是一个更大的项目的一部分,所以创建一个最小的例子并不是那么容易,特别是因为我仍然相当新的Python几乎是全新的Pandas,但如果需要我会尝试

All_holdings是投资组合对象的一部分。在变量窗口中查看它看起来是一个字典列表(这是正确的吗?)

enter image description here

从代码中可以看出,然后将其转换为一个名为curve using的pandas数据框。

curve = pd.DataFrame(self.all_holdings)

此时曲线数据框包括列'日期时间'和'总计'两者都包含self.all_holdings中原始dicts列表中的正确值。

enter image description here

然而在表演后:

curve.set_index('datetime', inplace=True)

enter image description here

' datetime'列已经消失,列总数为'现在有' datetime'值。
列'总数'的原始值也消失了?

我原本期待' datetime'列成为索引(但不是它的值消失)和其他一切保持不变?

这是Python版本的问题我使用3.6到他的2.7,我也使用pandas 0.22.0,其中示例使用未指定的早期版本。

1 个答案:

答案 0 :(得分:1)

我没有看到任何问题。您确实在datetime上设置了索引。 total值也会在datetime上编入索引