elsiwaveQI 2023-01-09 05:03 采纳率: 64%
浏览 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 05:18
    关注

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

    1. col = np.take(log, num2, axis=1)
    2. np.put(col, np.arange(col.size), log_num2)
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    elsiwaveQI 2023-01-09 06:56

    第二行代码没有log文件名可以?

    回复
    elsiwaveQI 2023-01-09 07:03

    您这个建议可行,我直接将log_num2放进去,np.put(log, [num2], log_num2), 代码成功运行,去掉了异常值。谢谢!

    回复
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 为什么投影机用酷喵播放电影放一段时间就播放不下去了?提示发生未知故障,有什么解决办法吗?
  • ¥15 来个会搭建付费网站的有偿
  • ¥100 有能够实现人机模式的c/c++代码,有图片背景等,能够直接进行游戏
  • ¥20 校园网认证openwrt插件
  • ¥15 以AT89C51单片机芯片为核心来制作一个简易计算器,外部由4*4矩阵键盘和一个LCD1602字符型液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。
  • ¥15 求GCMS辅导数据分析
  • ¥30 SD中的一段Unet下采样代码其中的resnet是谁跟谁进行残差连接
  • ¥15 Unet采样阶段的res_samples问题
  • ¥15 R语言regionNames()和demomap()无法选中中文地区的问题
  • ¥15 Open GL ES 的使用
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部