我使用如果条件在python执行计算,但我得到的真值系列是含糊不清的。使用a.empty、a.bool()、a.item()、a.any()或a.all()
有人能帮助我理解如何基于其他列上的if条件对数据帧执行操作吗?
if (simulated_hour['Weeknnd'] == 'Weekday'):
simulated_hour['simulated'] = simulated_hour['Forecast_call']*simulation_weekday
simulated_hour
附件是代码和错误的图像
您可以使用以下代码片段实现您想要的目标:
simulated_hour.loc[simulated_hour['Weeknnd'] == 'Weekday', 'simulated'] = simulated_hour.loc[simulated_hour['Weeknnd'] == 'Weekday', 'Forecast_call']*simulation_weekday
Pandas有自己的查询语法,因为您不能使用简单的if
语句来进行您提到的选择。
如果您熟悉SQL,以下状态可能有助于理解基础:https://pandas.pydata.org/docs/getting_started/comparison/comparison_with_sql.html
这条消息是不言自明的。由于simulated_hour['Weeknnd']
不是单个值,因此术语simulated_hour['Weeknnd']=='Weekday'
对于某些值可能为真,而对于其他值可能为假。因此,使用(…).any()
或(…).all()
取决于您是否希望至少一个或所有值为true。
我有一个数据帧“信号”: 因为我需要一些条件来设置我的“\u exec\u dict”,这是一个告诉交易平台我的订单是什么的字典? 问题是我不能使用 来做条件判定。 要进行测试,请执行以下操作: 有一些改变, 结果是: 搜索后,像一个系列的真相值是模糊的。使用a.empty、a.bool()、a.item()、a.any()或a.all()
但我有一个错误。 ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。 我怎样才能修好它?
当我运行以下代码时: 它给出了以下错误: ValueError:序列的真值不明确。 使用a.empty、a.bool()、a.item()、a.any()或a.all() 这里怎么了?
问题内容: 在用or条件过滤我的结果数据帧时遇到问题。我希望我的结果df提取var大于0.25且小于-0.25的所有列值。 下面的逻辑为我提供了一个模糊的真实值,但是当我将此过滤分为两个单独的操作时,它可以工作。这是怎么回事 不知道在哪里使用建议。 问题答案: 在和python语句需要-值。因为这些被认为是模棱两可的,所以您应该使用“按位” (或)或(和)操作: 对于此类数据结构,它们会重载以生成
问题内容: 在用条件过滤我的结果数据帧时遇到问题。我希望我的结果提取大于0.25且小于的所有列值。 下面的逻辑为我提供了一个模糊的真实值,但是当我将此过滤分为两个单独的操作时,它起作用。这是怎么回事 不知道在哪里使用建议。 问题答案: 在和python语句需要值。因为这些被认为是模棱两可的,所以你应该使用操作: 对于此类数据结构,它们会重载以产生元素级(或)。 只是为该语句添加更多解释: 当你想获