You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将矩阵整数转为浮点数?浮点矩阵与象限均值计算问题

问题:无法生成含浮点数的矩阵并计算均值

我编写了如下Python代码:

import numpy as np

n = float(input("Starting number : " ))
m = float(input("Ending Number : "))

a = np.random.randint(n,m, size=(10,10))
print("\na : ", a)

top_left =  [a[0][:5], a[1][:5]]
top_right = [a[0][5:], a[1][5:]]
bot_left =  [a[2][:5], a[3][:5]]
bot_right = [a[2][5:], a[3][5:]]

print("\n")
print("1st quadrant : ", top_right)
print("2nd quadrant : ", top_left)
print("3rd quadrant : ", bot_left)
print("4th quadrant : ", bot_right)

print("\n")
avg1 = np.average(top_right)
print("Average of 1st quadrant : " ,avg1)

avg2 = np.average(top_left)
print("Average of 2nd quadrant : " ,avg2)

avg3 = np.average(bot_left)
print("Average of 3rd quadrant : " ,avg3)

avg4 = np.average(bot_right)
print("Average of 4th quadrant : " ,avg4)

代码功能为生成10×10矩阵,矩阵数值范围由用户输入的两个数决定,随后划分四个象限并计算各象限均值。我希望支持输入两个浮点数,生成含浮点数的矩阵并以浮点数形式计算均值,但无法实现,请问遗漏了什么?


问题原因

你用错了随机数生成函数:np.random.randint() 仅能生成整数类型的随机数,即便输入的n和m是浮点数,它也会自动截断为整数来生成结果,所以矩阵里全是整数,自然无法得到浮点数矩阵。

解决方案

  1. 替换随机数生成函数:使用np.random.uniform(n, m, size=(10,10)),该函数支持浮点数范围输入,生成的矩阵元素为浮点数。
  2. 优化象限切片方式:用numpy数组的切片语法替代手动列表嵌套,代码更简洁且符合numpy的使用规范。

修改后的完整代码:

import numpy as np

n = float(input("Starting number : " ))
m = float(input("Ending Number : "))

# 生成指定范围的浮点数矩阵
a = np.random.uniform(n, m, size=(10,10))
print("\na : ", a)

# 用numpy切片直接获取象限(更简洁规范)
top_left = a[:2, :5]    # 前2行,前5列
top_right = a[:2, 5:]   # 前2行,后5列
bot_left = a[2:4, :5]   # 第3-4行,前5列
bot_right = a[2:4, 5:]  # 第3-4行,后5列

print("\n")
print("1st quadrant : ", top_right)
print("2nd quadrant : ", top_left)
print("3rd quadrant : ", bot_left)
print("4th quadrant : ", bot_right)

print("\n")
avg1 = np.average(top_right)
print("Average of 1st quadrant : ", avg1)

avg2 = np.average(top_left)
print("Average of 2nd quadrant : ", avg2)

avg3 = np.average(bot_left)
print("Average of 3rd quadrant : ", avg3)

avg4 = np.average(bot_right)
print("Average of 4th quadrant : ", avg4)

现在输入浮点数(比如2.5和7.8)就能生成浮点数矩阵,均值也会以浮点数形式输出。


内容的提问来源于stack exchange,提问作者ceilowens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:39:25