我正在學習 Python,并且一直在使用 NumPy 嘗試一些簡單的方程。在嘗試使用 mean() 函式計算數字串列的平均值時,我遇到了一個錯誤。
AttributeError: 'list' 物件沒有屬性 'mean'
PS 為了避免任何疑問,Numpy 已經通過 pip 安裝并且作業正常。此外,這兩個串列物件是故意不同的形狀。
這是我的腳本/代碼:
import numpy as np
family_name = ['Homer','Marge','Maggie']
family_age = [39,36,2,8]
family_name_age = np.array([family_name, family_age], dtype=object)
avg_family_age = family_name_age[1].mean()
print('Average age: {:.2f}'.format(avg_family_age))
當我在jupyter notebook中運行它時,我收到以下錯誤訊息。
屬性錯誤
回溯(最近一次通話最后)c:\Users\my_pc\a_folder\01-numpy-practice.ipynb
在 <細胞系:5>()
2 家庭年齡 = [39,36,2,8]
3family_name_age=np.array([family_name,family_age],dtype=object)
----> 4 avg_family_age = family_name_age[1].mean()
6 print('平均年齡:{:.2f}'.format(avg_family_age))
AttributeError: 'list' 物件沒有屬性 'mean'
但是,當我按如下方式嘗試 mean() 時,它可以正常作業:
family_height_cm = [183,172,82]
family_weight_kg = [109,60,11]
family_bmi_data = np.array([family_height_cm,family_weight_kg])
avg_fam_height = family_bmi_data[0].mean()
print('Average height: {:.2f}'.format(avg_fam_height))
它作業得很好,我得到一個平均身高:145.67
如果有人可以讓我深入了解我做錯了什么并盡可能簡單地解釋理論,那將非常有幫助。超級謝謝你。
uj5u.com熱心網友回復:
在第一個示例中,您指定dtypeas 物件。這將為您留下一個包含兩個 python 串列的陣列。您不能呼叫.mean()python 串列。
uj5u.com熱心網友回復:
family_name_age[1]是一個串列,但是family_bmi_data[0]是一個 NumPy 陣列。與 NumPy 陣列不同,串列沒有mean方法。
uj5u.com熱心網友回復:
@jprebys 提供了我遇到錯誤的明確原因:“AttributeError: 'list' object has no attribute 'mean'”
在第一個示例中,您將 dtype 指定為物件。這將為您留下一個包含兩個 python 串列的陣列。您不能在 python 串列上呼叫 .mean() - @jprebys https://stackoverflow.com/a/74116157/1753769
@learner 提供了一個代碼片段,使我能夠實作我想要的結果。
首先將我的變數:family_age設定為 NumPy 陣列:family_age = np.array([39,36,2,8])。我能夠根據需要使用平均方法/功能。
因此,@learner 提供的我的完整代碼塊如下所示:
family_name = ['Homer','Marge','Maggie']
family_age = np.array([39,36,2,8])
family_name_age= np.array([family_name, family_age], dtype=object)
avg_family_age = family_name_age[1].mean()
print('Average age: {:.2f}'.format(avg_family_age))
謝謝@learner 和@jprebys
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/518099.html
上一篇:按索引組合陣列和串列元素
