如何使用前向填充Python重新采样

2024-03-06

我的数据框 df3 看起来像这样:

    Id           Timestamp         Data    Group_Id    
0    1     2018-01-01 00:00:05.523 125.5   101 
1    2     2018-01-01 00:00:05.757 125.0   101 
2    3     2018-01-02 00:00:09.507 127.0   52  
3    4     2018-01-02 00:00:13.743 126.5   52  
4    5     2018-01-03 00:00:15.407 125.5   50
                    ...

11   11    2018-01-01 00:00:07.523 125.5   120 
12   12    2018-01-01 00:00:08.757 125.0   120 
13   13    2018-01-04 00:00:14.507 127.0   300  
14   14    2018-01-04 00:00:15.743 126.5   300  
15   15    2018-01-05 00:00:19.407 125.5   350

我想每秒使用 ffill 重新采样,使其看起来像这样:

    Id           Timestamp         Data    Group_Id    
0    1     2018-01-01 00:00:06.000 125.00    101 
1    2     2018-01-01 00:00:07.000 125.00    101 
2    3     2018-01-01 00:00:08.000 125.00    101 
3    4     2018-01-02 00:00:09.000 125.00     52 
4    5     2018-01-02 00:00:10.000 127.00     52 

                    ...

我的代码:

def resample(df):
    indexing = df[['Timestamp','Data']]
    indexing['Timestamp']=pd.to_datetime(indexing['Timestamp'])
    indexing =indexing.set_index('Timestamp')
    indexing1= indexing.resample('1S',fill_method='ffill')
    # indexing1 = indexing1.resample('D')
    return indexing1
indexing = resample(df3)

但发生了错误

ValueError: cannot reindex a non-unique index with a method or limit

我不太明白这个错误是什么意思。 @jezrael 来自这个类似的问题 https://stackoverflow.com/questions/39792933/resampling-error-cannot-reindex-a-non-unique-index-with-a-method-or-limit建议使用drop_duplicates with groupby。我不确定这对数据有何影响,因为我的数据中似乎没有重复项?有人可以解释一下吗?谢谢。


该错误是由以下原因引起的:

    Id           Timestamp         Data    Group_Id    
0    1     2018-01-01 00:00:05.523 125.5   101 
1    2     2018-01-01 00:00:05.757 125.0   101 

当您将这两个时间戳重新采样到最接近的秒时,它们都会变成2018-01-01 00:00:06pandas 不知道该选择哪个数据值 因为它有两个可供选择。相反,你可以做的是使用聚合函数 例如last(尽管mean, max, min也可能是合适的)以便 选择其中一个值。然后您可以应用前向填充。

Example:

from io import StringIO
import pandas as pd
df = pd.read_table(StringIO("""    Id           Timestamp         Data    Group_Id    
0    1     2018-01-01 00:00:05.523  125.5   101 
1    2     2018-01-01 00:00:05.757  125.0   101 
2    3     2018-01-02 00:00:09.507  127.0   52  
3    4     2018-01-02 00:00:13.743  126.5   52  
4    5     2018-01-03 00:00:15.407  125.5   50"""), sep='\s\s+')
df['Timestamp'] = pd.to_datetime(df['Timestamp']).dt.round('s')
df.set_index('Timestamp', inplace=True)
df = df.resample('1S').last().ffill()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用前向填充Python重新采样 的相关文章

  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 如何使用Conda下载python包并随后离线安装?

    我知道通过 pip 我可以使用以下命令下载 Python 包 但 pip install 破坏了我的内部包依赖关系 当我做 pip download
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • AWS EMR Spark Python 日志记录

    我正在 AWS EMR 上运行一个非常简单的 Spark 作业 但似乎无法从我的脚本中获取任何日志输出 我尝试过打印到 stderr from pyspark import SparkContext import sys if name m
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • 如何在ipywidget按钮中显示全文?

    我正在创建一个ipywidget带有一些文本的按钮 但按钮中未显示全文 我使用的代码如下 import ipywidgets as widgets from IPython display import display button wid
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • Jupyter Notebook 内核一直很忙

    我已经安装了 anaconda 并且 python 在 Spyder IPython 等中工作正常 但是我无法运行 python 笔记本 内核被创建 它也连接 但它始终显示黑圈忙碌符号 防火墙或防病毒软件没有问题 我尝试过禁用两者 我也无法
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • 如何在seaborn displot中使用hist_kws

    我想在同一图中用不同的颜色绘制直方图和 kde 线 我想为直方图设置绿色 为 kde 线设置蓝色 我设法弄清楚使用 line kws 来更改 kde 线条颜色 但 hist kws 不适用于显示 我尝试过使用 histplot 但我无法为
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我

随机推荐

  • 使用片段的 Ecto“left IN right”查询

    我想使用 postgres IN 运算符 使用 Ecto 库 查询 jsonb 字段 此代码使用简单的 运算符 from a in query where fragment gt gt format a properties foo 但我无
  • Vagrant:192.168.33.10 拒绝连接

    你好 我通过vagrant在虚拟机中安装了centOS6 还安装了httpd和php 但是 当我尝试访问http 192 168 33 10 http 192 168 33 10这是我在Vagrantfile中设置的IP地址 我无法打开网页
  • “附加到流程”作为构建后事件

    我有一个在 w3wp exe 进程下托管的应用程序 在调试时 我经常发现自己遵循以下步骤 1 做一些改变 2 构建项目 3 使用 工具 菜单下的 附加到进程 对话框附加到 w3wp exe 4 在应用程序中执行一些操作以使我的代码执行 这样
  • 有没有办法在Asp.net core中执行批量请求?

    我们有一个使用 ASP Net Core 构建的 API 出于性能原因 我们希望将多个请求合并为一个 HTTP 请求 在以前版本的 ASP NET 中 您可以通过以下方式允许批量请求默认HttpBatchHandler https www
  • MEF 和使用 NUnit 进行单元测试

    几周前 我加入了 MEF 组件模型 潮流 现在将它用于我的许多插件和共享库 总的来说 除了我经常犯的错误 导致调试过程令人沮丧 之外 它还是很棒的 无论如何 我的应用程序运行得很好 但我的 MEF 相关代码更改导致我的自动构建失败 我的大多
  • getter 和 setter 的 junit 测试方法

    我的项目中有很多java bean 我需要为它们生成一个 JUnit 测试类 使用 Eclipse 3 2 和 junit 4 4 生成的测试方法如下所示 public void testGetName fail Not yet imple
  • 地形条件资源

    我有以下内容 我想知道我做错了什么 因为我确信我不应该仅仅因为条件而将代码加倍 所以我想做 variable https value true resource aws security group http instance sg cou
  • 如何找到 numpy 矩阵中的最小值?

    嘿 这是一个快速而简单的问题 我如何找到这个矩阵的最小值 不包括 0 如 8 arr numpy array 0 56 20 44 68 0 56 8 32 56 0 44 68 20 56 0 当你使用numpy 你可以使用 arr ar
  • 使用可变宽度字体创建文本列

    我正在尝试为将在 MSN Messenger 上运行的 C 应用程序创建文本列 我很难让所有东西都排列整齐 这是我想要的输出的示例 1 Pizza Hut 123 Fake St 2 Domino s Pizza 123 Fake St 3
  • 运行时级别的 lambda 和方法引用有什么区别?

    我遇到过使用方法引用而不是 lambda 发生的问题 该代码如下 Comparator
  • HTML5 视频标签中的音频

    我注意到使用音频文件
  • 覆盖函数内部的全局变量不适用于 Spyder 4

    我尝试从函数内覆盖全局定义的数据框 不知何故 全局值不会改变 在函数内打印数据帧可以使用预期值 import pandas as pd rawData pd read csv music csv appTitles pd DataFrame
  • kubernetes 容器的响应丢失

    我已经在openstack上安装了kubernetes 该设置在 coreos 上有一个主节点和一个节点 我有一个在 UDP 端口 5060 上托管 SIP 应用程序的 pod 并且我已创建服务为NODEPORT在 5060 上 规格 sp
  • 如何在matlab中的imagesc图中添加图例

    我有以下代码 创建打印到文件的图形 f figure set gcf Visible off imagesc exp genes sorted cut h colorbar set gcf Colormap mycmap set gca x
  • Chrome 扩展选项卡 onUpdated 事件

    我正在构建一个 chrome 扩展 每次打开新选项卡并加载页面时都应该收到通知 为此我正在使用 chrome tabs onUpdated 事件 问题是 如果在某个域 具有 src 上托管的页面 选项卡上插入 iframe 则会触发 onU
  • 您可以在 Java EE Web 应用程序中实现 Vue.js 吗?

    我只是和我的同学一起开发一个工具 我们想使用 Vue js 作为 Web 界面 用于描述我们编程的内容 我们在 Eclipse 中开发了一个 Java EE Web 应用程序 我们使用 Tomcat 7 作为 Web 服务器 我搜索了很长时
  • Assert.Fail() 被认为是不好的做法吗?

    我在进行 TDD 时经常使用 Assert Fail 我通常一次进行一个测试 但是当我对稍后想要实现的事情有了想法时 我会快速编写一个空测试 其中测试方法的名称指示我想要以待办事项列表的形式实现的内容 为了确保我不会忘记 我在正文中放置了一
  • GWT maven编译器输出目录

    我需要使用 Maven 插件设置 GWT 编译器的输出目录位置 我研究了 GWT 编译器和 gwt maven plugin 文档 但没有找到任何选项 例如 我有两个名为editor and consolegwt maven plugin
  • javascript 使用 var 值作为新 var 的名称

    如何使用数组键 文本值 来引用同名变量 jsFiddle http jsfiddle net gBD4s var cr au gen bn fmt str var sbASCtrls cr ContentRating au Gold gen
  • 如何使用前向填充Python重新采样

    我的数据框 df3 看起来像这样 Id Timestamp Data Group Id 0 1 2018 01 01 00 00 05 523 125 5 101 1 2 2018 01 01 00 00 05 757 125 0 101