诚之和:Python数据科学使用numpy求行均值
生活随笔
收集整理的這篇文章主要介紹了
诚之和:Python数据科学使用numpy求行均值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
隨著大數據時代的來臨,Python 應運而生,在這數據浪潮中逐漸發光發亮。越來越多的人開始學習Python,學習其中的數據科學、人工智能等等。今天,和大家分享關于 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。同時結果還需要保留小數點后兩位,就需要用上 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求行均值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 秋招面试总结(计算机视觉、3D算法、三维
- 下一篇: python 调用qrcode库实现二维