python - 当只有一个时,为什么 df.loc[] 返回同一行两次?
问题描述
我目前正在处理一些股票价格 csv 文件,但是在使用 pd.read_csv 将数据导入 df 之后,.loc[] 命令出现了一些奇怪的行为。我正在使用 10 个文件执行此操作,但在遇到此问题之前我想做更多的事情,这实际上只发生在其中一个文件上......
我基本上想对每个 df 进行子集化,只显示 9:30 到 16:00 之间的数据,这是一个简单的操作,一直没有问题:
open = dt.time(hour= 9, minute= 30)
close = dt.time(hour= 15, minute= 59)
但是当我打电话时:
df.loc[open]
我得到:
Open High Low Close Volume
Date
2017-12-29 09:30:00 119.46 119.6 119.42 119.57 480
2017-12-29 09:30:00 119.46 119.6 119.42 119.57 480
但是 csv 中没有重复项,当我让它打印部分数据帧或在运行调试器时暂停调试器以向我显示内存中的 df 时,也没有重复项。
这发生在我选择传递的任何时间以及我添加到 loc[] 命令的任何列名。但仅使用其中一个数据框。
这也弄乱了我脚本的其他部分,例如,当我想从一行中检索一个值并在计算中使用它时,它会抛出一个错误,因为当它应该只返回一个值时,这种怪异正在返回一个系列
我以前使用过 .loc 和 Datetime.Indexes 很多次,但从未遇到过这种情况。我尝试重置索引,使用不同的时间,制作数据帧的副本,似乎没有任何效果,它一直假装每一行存在两次(在这个一个特定的数据帧),但事实并非如此......
感谢任何试图提供帮助的人。
解决方案
推荐阅读
- python - 使用 RESNET 的验证准确性波动很大
- axios - 如何从插件触发 Nuxt 加载器?
- tensorflow - 如何使用 Tensorflow 2 加载 GUSE v1?
- python - python块大小差异
- cookies - 如何在 C# win 表单和 Web 浏览器中制作/设置 cookie
- python - pandas.read_html 返回错误的表格内容
- ios - iOS 图表:向折线图添加阴影
- flutter - 在图像顶部放置两个按钮
- html - 我应该将广告代码提交到我的 git 存储库吗?
- javascript - 如何在 Angular 应用程序上调整卡片大小