+ 不支持的操作数类型:“float”和“datetime.timedelta”,“出现在索引 5”)

2024-01-10

我有一个数据集,其中一个输入包含日期和时间。 首先,我编写了代码来查找 X3 列中 5 值的第一个时间,然后将该时间转换为 0。 然后我尝试将 timedelta(hours=1) 添加到范围为 6 的内容中。 然后它给了我这个错误"unsupported operand type(s) for +: 'bool' and 'datetime.timedelta'"

谁能帮我解决这个错误?

my code:

data =pd.read_csv('data6.csv')

data['time_diff']= pd.to_datetime(data['date'] + " " + data['time'],
               format='%d/%m/%Y %H:%M:%S', dayfirst=True)
mask = data['X3'].eq(5)
data['duration'] = data[mask].drop_duplicates(['date','X3']).groupby(['date','X3'])['time_diff'].transform('first')
data['duration'] = data['time_diff'].sub(data['duration']).dt.total_seconds().div(3600)
date    time    x3            Time(expected)
10/3/2018   6:15:00     0        NaN
10/3/2018   6:45:00     5        0.0
10/3/2018   7:45:00     0        NaN
10/3/2018   9:00:00     0        NaN
10/3/2018   9:25:00     7        NaN
10/3/2018   9:30:00     0        NaN
10/3/2018   11:00:00    0        NaN
10/3/2018   11:30:00    0        NaN
10/3/2018   13:30:00    0        NaN
10/3/2018   13:50:00    5        NaN
10/3/2018   15:00:00    0        NaN
10/3/2018   15:25:00    0        NaN
10/3/2018   16:25:00    0        NaN
10/3/2018   18:00:00    7        NaN
10/3/2018   19:00:00    0        NaN
10/3/2018   19:30:00    0        NaN
10/3/2018   20:00:00    0        NaN
10/3/2018   22:05:00    0        NaN
10/3/2018   22:15:00    5        NaN
10/3/2018   23:40:00    0        NaN
10/4/2018   6:58:00     5        0.0
10/4/2018   13:00:00    0        NaN
10/4/2018   16:00:00    7        NaN
10/4/2018   17:00:00    7        NaN

所以这里我有一个求和方程来应用于 X3 列值。

然后根据这个求和方程我想取每小时X3的值。

这就是为什么我首先找到每天提及值5的开始时间,然后将该时间转换为0:00:00。

然后从该开始时间加上一小时一小时直到 6 小时,我需要获取 A 的值。

对于 A 方程为:

A =  X3(5) - M

所以首先我单独拍了第一次,只拍了0次。 为此,我使用了代码:

time= data['duration'].eq(0)

然后我在类里面写了这个方程方法

time=0
M=0
for _ in range(len(data['X3'])):
  if X3.all()==5:
    if time ==data['duration'].eq(5).all():
        M=X3
        for i in (time + timedelta(hours=1*it) for it in range(6)):
            M = 5 - 0.0015 * np.sum(i*X3) 
print(M)   

然后得到的值只有 0 。

然后这个错误就来了。

从这些代码中我期望的输出是:

					
	   time	 	                      expected output		
	0 (start time of x3 value of 5)         5		
	1 hr		                   5-0.3(according to the summation equation) = 4.7		
	2hr		                      5-0.6=4.4		
	3hr		                      5-0.9=4.1		
	4hr		                      5-1.2=3.8		
	5hr		                      5-1.5=3.5		
	6hr		                      5-1.8=3.2		

在你的代码中time= data['duration'].eq(0)这部分正在制作timebool 类型的变量。 尝试将其转换为0 or 1然后将其添加到for循环中。

If time是标量(单个)值:

if (time==True):
    time=1
else:
    time=0

if time是向量(数组):

time_array = [0 if tm==False else 1 for tm in data['duration'].eq(0)]

另外,您的 for 循环中还有一个错误。你无法添加1像这样的数据时间。 尝试这个 :

from datetime import datetime, timedelta
current_time = datetime.now()
nine_hours_from_now = current_time  + timedelta(hours=9)

在此代码中您可以替换timedelta(hours=9)到你的时间timedelta(hours = time).

Note : your time将是一个二进制数组。您必须重新逆向选择值并添加。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

+ 不支持的操作数类型:“float”和“datetime.timedelta”,“出现在索引 5”) 的相关文章

随机推荐

  • 即使 glCompileShader 不返回任何错误,glLinkProgram 也会崩溃

    我正在尝试制作本机代码https software intel com sites default files management 79 e5 OpenGL 20ES 20Tessellation zip https software i
  • 为什么我们不能在 FORFILES 脚本中使用 CALL :label 命令?

    这段代码 forfiles P pathname M log c cmd c echo file 会很高兴地列出一堆文件 我们可以替换ECHO with RENAME or MOVE或内部命令的许多其他组合 例外是CALL到标签名称 例如更
  • 基于模型的拉力网格颜色行

    我有一个 Rallygrid 配置为显示两个模型 PortfolioItem Feature 和 PortfolioItem Rollup 我想在网格中为它们着色以区分它们 我不保证它们会在网格中交替 或者类似的东西 我只是想对卷应用一种微
  • 如何使用 OpenXML SDK 将 Excel 转换为 CSV?

    我需要将 Excel 2010 文件转换为 csv 目前我正在使用 Excel Interop 打开并另存为 csv 效果很好 然而 Interop 在我们使用它的环境中存在一些问题 所以我正在寻找另一个解决方案 我发现在没有互操作的情况下
  • 仅合并 R 中不同数据帧中的一列或两列

    我有两组数据框 下面是每行的前五行 First Data frame Name sampel sort name id supplier usage ABC 10000079 811121 1 DEF 10000182 541513 4 S
  • 难以捕获执行就地状态更新的子流程的输出

    所以我试图将 HandBrakeCLI 的输出捕获为 Python 子进程 这对于 stderr 来说不是问题 因为每次更新都会在类似文件的管道中创建一个新行 但是 使用标准输出 HandBrakeCLI 会进行就地更新 但我很难捕获它们
  • 如何在查询字符串中使用回车或换行?

    客户可以在文本区域中输入行 并将其保存在数据库中 如果客户返回站点 他可以加载之前输入的数据 但是 换行符和回车符不会显示在文本区域中 我可以将它们放在查询字符串中 例如通过 ASCII 编码 A 或 D 但 java 不喜欢这样并抛出 I
  • Swift 中块参数的文档标记格式是什么?

    如果您添加文档标记 则 Swift 中块的参数会显示该块的参数表 但我不知道如何填写该表 我已经在Xcode 标记参考格式 https developer apple com library ios documentation Xcode
  • 更改 Mac Catalyst 上 UITextField 或 UITextView 的提示颜色

    如何以编程方式更改 mac Catalyst 上 UITextField 提示的颜色 提示存在 但颜色与 UITextField 相同 提示在 iOS 上显示正确的颜色 我尝试失败 tintColor 代码 iOS 和 Mac Cataly
  • firebase的app token在什么时期发生变化以及如何管理?

    我是 firebase 的新手 我就像一个小孩学走路一样学习它 到目前为止 我已经成功使用 firebase 框架为我的手机生成的令牌向我自己的手机发送消息 现在这就是棘手的地方 在我看来 有一种方法叫做onTokenRefresh in
  • AWS Dynamo 不会自动缩小规模

    Here are the parameters I have set on the table And here is what I see for the capacity over time 为什么它仍保持在 25 个写入单元 难道不应
  • 将对象转换为类似类型

    在斯卡拉 我有两个 Any 类型的对象 如果可能的话 我想将对象转换为正确的 Ordered 特征 然后将它们与 你可以通过以下方式实现Ordering类型类别 def compare T Ordering Manifest a AnyRe
  • 如何使用 FireDAC 在 Firebird 3.0 上启用 WireCompression [重复]

    这个问题在这里已经有答案了 我希望使用 WireCompression 连接到 Firebird Server 3 0 这是自 3 0 版以来的新功能 我很难做到这一点 我能找到的唯一记录说明是在 firebird conf 中将 Wire
  • Firefox 扩展中的 IP 地址查找

    我正在编写一个 Firefox 扩展 我需要找到当前加载页面的 IP 地址 我可以使用 window location host 获取页面的主机名 但是有什么方法可以找到该主机名的 ip 吗 我尝试在 Mozilla 开发人员中心寻找答案
  • 使用 mod_wsgi 在 Apache 上部署多个 django 应用程序

    我想在同一主机中部署两个不同的 django 应用程序 第一个对应于 url site1 第二个对应于 url site2 这是我的配置 LoadModule wsgi module modules mod wsgi so WSGIScri
  • 如何编写 a-> b -> b -> b 类型的函数来折叠树

    一些背景 我在Haskell中有一个以下类型的foldT函数 类似于foldr 但用于树 foldT a gt b gt b gt b gt b gt Tree a gt b 该foldT仅将类型 a gt b gt b gt b 作为输入
  • Overflow-x:hidden 仍然可以滚动

    问题是 我有一个全宽的栏菜单 它是通过在右侧和左侧创建一个大边距来制作的 该边距应裁剪为overflow x hidden 而且它是 没有滚动条 一切 视觉上 都很好 但是 如果您拖动页面 使用 Mac Lion 或向右滚动 页面会显示一个
  • Bootstrap模式:关闭当前,打开新的

    我已经寻找了一段时间 但找不到解决方案 我想要以下内容 在 Bootstrap 模式中打开 URL 我当然有这个工作 所以内容是动态加载的 当用户按下此模式内的按钮时 我希望当前的模式隐藏 之后立即 我希望使用新的 URL 用户单击的 打开
  • 如何获取chrome当前版本的当前URL

    我想获取 chrome 当前版本的当前 URL 所以 我尝试使用这种方式 http www codeproject com Questions 648906 how to get current URL for chrome ver 29
  • + 不支持的操作数类型:“float”和“datetime.timedelta”,“出现在索引 5”)

    我有一个数据集 其中一个输入包含日期和时间 首先 我编写了代码来查找 X3 列中 5 值的第一个时间 然后将该时间转换为 0 然后我尝试将 timedelta hours 1 添加到范围为 6 的内容中 然后它给了我这个错误 unsuppo