elsiwaveQI 2023-01-09 13:03 采纳率: 57.9%
浏览 42
已结题

使用一个单列替换原数组中对应列失败

问题遇到的现象和发生背景

首先将一个二维数组其中一列有异常大值的列取出来,经过处理后该列异常值已经替换,现在想把处理后的单列替换原数组中对应的列,没有成功,不知为什么?

遇到的现象和发生背景,请写出第一个错误信息

原来有异常值的列没有被替换

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%

log_num2 = np.array(log_num2) #其实log_num2已经是一个array, log_num2已经处理过,检查确认
log[::,num2] = log_num2 # 使用log_num2替换原数组中num2列,num2也检查数值正确。

运行结果及详细报错内容

运行后原数组中对应的列没有被替换

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

使用处理后的列替换原来的列

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

目标是将处理后的列(一个单列array文件)替换原二维数组中对应的列。

  • 写回答

4条回答 默认 最新

  • heart_6662 2023-01-09 13:18
    关注

    望采纳!!!
    我看见你使用了 NumPy 的切片功能来对 log 数组的第 num2 列进行赋值。但是,这样的赋值方式可能会导致 log 数组的形状发生改变
    为了避免这种情况,你可以使用 NumPy 的 take 函数来获取 log 数组的第 num2 列,然后使用 put 函数将 log_num2 中的值赋值到 log 数组的第 num2 列。

    col = np.take(log, num2, axis=1)
    np.put(col, np.arange(col.size), log_num2)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 1月17日
  • 已采纳回答 1月9日
  • 创建了问题 1月9日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助