V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
n2l
V2EX  ›  Python

时间列填充疑问

  •  
  •   n2l · 2022-01-15 12:41:51 +08:00 · 1812 次点击
    这是一个创建于 1028 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如图,其他列(未截图)是按照一秒一次的记录,但是时间列( HH, MM, SS )是按照 5 秒一次记录,故出现了如图的结果,想把空值都填充上,比如 26 秒和 30 秒之间填充 27 、28 、29 ,同时秒列遇到 59 的下个被填充成 00 ,同时分钟列+1 ,类似这种,想到好办法,请教各位。 1111.png

    2 条回复    2022-01-15 14:23:49 +08:00
    nyxsonsleep
        2
    nyxsonsleep  
       2022-01-15 14:23:49 +08:00
    如图,其他列(未截图)是按照一秒一次的记录,但是时间列( HH, MM, SS )是按照 5 秒一次记录
    你的意思是不是每一行都是每秒记录一次,但是时间信息每 5 秒记录一次?不在 5 的时间点上就缺失时间信息?
    我怎么感觉应该先改进时间记录。
    原理:
    另外这个表如果没有行的记录缺失或者错误,不是直接替换列就行了,因为 pandas 的 df ,每一列都“相当于”是一个{‘表头’:[列表]}的关系,所以只要替换掉列表即可。
    方案:
    先把时间的列表提取出来,从 sec 开始处理,从第一个时间数据开始把时间按照 60 一个循环进行填充数据,那么 sec 中 00-59 的 index ,在 min 中的 index 位置必然是同一个数值,所以在 min 中进行检索,由于每 5s 就有一个数据,所以就能获得所有的 min 值,同理得到所有 hour 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1230 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 18:00 · PVG 02:00 · LAX 10:00 · JFK 13:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.