千家信息网

Python中怎么使用numpy求行均值

发表于:2024-10-21 作者:千家信息网编辑
千家信息网最后更新 2024年10月21日,本篇内容主要讲解"Python中怎么使用numpy求行均值",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python中怎么使用numpy求行均值"吧!题目
千家信息网最后更新 2024年10月21日Python中怎么使用numpy求行均值

本篇内容主要讲解"Python中怎么使用numpy求行均值",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python中怎么使用numpy求行均值"吧!

题目:

随机给定一个二维数组,结果返回行均值。

输入要求:

第一行:两个用空格隔开的整数,第一个表示矩阵X(n)的行,第二个表示X(p)的列。

接下来的 n 行:X 中行的值。

输出要求:

一个 numpy 一维值数组,四舍五入到第二个小数。

输入样本:

2 2
1.5 1
2 2.9

输出样本:

[1.25 2.45]

解题思路:

最简单也是最关键,最重要的一步,导入numpy库。

import numpy as np

需要定义 numpy 数组的行列,因为要满足题目要求的随机性,所以这里就不写死,使用 input 输入。而且行列一定是整数类型的,数据类型必须是int 类型。但是输入的值是字符串,这时候就需要对输入的值进行转换。

n, p = [int(x) for x in input().split()]

接下来,每行都会输入 p 个值。我用了一个范围为 n 的循环,每行都能输入 p 个值。此前还需要定义一个空数组,便于后面的数组进行累加。

arr = []for i in range(n):    arr += [float(x) for x in input().split()]

接下来就是将数组转换为 numpy 数组,并且给它重塑为二维数组。

arr = np.array(arr).reshape(n, p)

最后就可以直接使用 numpy 的 mean 方法求均值即可,但题目要求是求行均值,这时候就需要设置axis=1,按列计算,获得行均值。同时结果还需要保留小数点后两位,就需要用上 round 方法。

arr.mean(axis=1).round(2)

完整代码:

import numpy as npn, p = [int(x) for x in input().split()]arr = []for i in range(n):    arr += [float(x) for x in input().split()]arr = np.array(arr).reshape(n, p)print(arr.mean(axis=1).round(2))

到此,相信大家对"Python中怎么使用numpy求行均值"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0