python - 使用带有 numpy 的 if else 语句进行算术计算
问题描述
我想做一个numpy.where()
声明,如果 的长度PC_list
等于数字的长度,那么我希望计算 的标准偏差,PC_list[0:number].std()
并且我想删除PC_list
:中的第一个数字np.setdiff1d(PC_list,PC_list[0])
。我希望这个过程继续下去,直到列表编号不等于编号len(PC_list[0:number]!=number
。我尝试以numpy.where()
这种方式格式化,但是这样做时出现语法错误,因此我需要对numpy.where()
下面的函数进行更正。
代码:
number = 3
list_= np.array([457.334015,424.440002,394.795990,408.903992,398.821014,402.152008,435.790985,423.204987,411.574005,
404.424988,399.519989,377.181000,375.467010,386.944000,383.614990,375.071991,359.511993,328.865997,
320.510010,330.079010,336.187012,352.940002,365.026001,361.562012,362.299011,378.549011,390.414001,
400.869995,394.773010,382.556000])
np.where(len(PC_list[0:number]==number,default = 'NA', PC_list[0:number].std(), np.setdiff1d(PC_list,PC_list[0])))
香草 Python 代码:
from copy import deepcopy
list_ = deepcopy(PC_list)
if len(list_[0:number]==number:
STD = list_[0:number].std()
list_ = np.setdiff1d(list_,list_[0])
错误:
File "<ipython-input-93-215f70228bdc>", line 1
np.where(len(PC_list[0:number]==number,default = 'NA', PC_list[0:number].std(), np.setdiff1d(PC_list,PC_list[0])))
^
SyntaxError: positional argument follows keyword argument
解决方案
推荐阅读
- jsf - JSF 元素的条件顺序
- typescript - 尝试键入“管道”时,4.1.0-dev 中的递归条件类型失败
- python - Lineterminator 使用熊猫提供额外的行
- javascript - 如何通过 react-crud-admin 库中的 API 调用异步获取 JSON 模式?
- php - Laravel - 未定义动作
- html - 如何将服装图像图标放入项目中
- mysql - 如何使用 laravel 查询获取两个日期之间的所有行?
- apache-kafka - 如果我将 log.segment.delete.delay.ms 设置为 0,我可以破坏任何东西吗
- angular - 可以使用 ExcelJS 和 Angular 生成带有多项选择的下拉列表吗?
- vba - 访问 VBA:无法添加没有错误 3211 的新列