加油努力zmh 2021-07-15 00:16 采纳率: 77.8%
浏览 43
已采纳

python值的传到

import numpy as np
def fill(a):
    for i in range(a.shape[1]):
        temp_col = a[:,i]
        nan_num = np.count_nonzero(np.isnan(temp_col))
        if nan_num != 0:
            temp_not_nan_col = temp_col[temp_col == temp_col]
            temp_col[np.isnan(temp_col)] = temp_not_nan_col.mean()
            a[:,i] = temp_col
    return a

if __name__ == "__main__":
    a = np.arange(24).reshape(4, 6).astype(float)
    a[1, 2:] = np.nan
    print(a)
    a = fill(a)
    print(a)

上面是修改nan位置的值,请问第9行代码去了为什么a的值也改变了,没有第9行(a[:,i] = temp_col),都没对a做修改,但最后a的值也变了,很疑惑

  • 写回答

3条回答 默认 最新

  • flashing-c 2021-07-15 01:26
    关注

    第4行temp_col = a[:,i]并没有新申请内存,temp_col和a[:,i]指向同一存储地址,因此对temp_col的修改,其实就是对a的修改;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 7月15日
  • 创建了问题 7月15日

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)