大家好,我有這段代碼,它將串列轉換為 3x3 矩陣。它根據行和列進行一些計算,并將它們存盤在字典中。
def calculate(liste):
calculations = {}
matrix = np.reshape(liste,(3,3))
keys = ['mean','variance','standard deviation', 'max','min','sum']
operator = [np.mean, np.var, np.std, np.max, np.min, np.sum]
for i in range(len(keys)):
calculations[keys[i]] = [operator[i](matrix, axis=0),operator[i](matrix,axis=1),operator[i](liste)]
return calculations
print(calculate(liste))
輸出如下所示:
{'mean': [array([3., 4., 5.]), array([1., 4., 7.]), 4.0], 'variance': [array([6., 6., 6.]), array([0.66666667, 0.66666667, 0.66666667]), 6.666666666666667], 'standard deviation': [array([2.44948974, 2.44948974, 2.44948974]), array([0.81649658, 0.81649658, 0.81649658]), 2.581988897471611], 'max': [array([6, 7, 8]), array([2, 5, 8]), 8], 'min': [array([0, 1, 2]), array([0, 3, 6]), 0], 'sum': [array([ 9, 12, 15]), array([ 3, 12, 21]), 36]}
我想在每個陣列之前去掉“陣列”,并且還想在下一次計算開始時列印到下一行。
提前致謝
uj5u.com熱心網友回復:
如果您不希望它以陣列形式出現,您應該能夠將陣列型別轉換為新型別。
您可以將分配行更改為:
calculations[keys[i]] = [tuple(operator[i](matrix, axis=0)),tuple(operator[i](matrix,axis=1)),operator[i](liste)]
如果您愿意,您也可以將其型別轉換為 list() 或其他內容。
對于列印顯示,您可以將其更改為:
j = calculate(liste)
for key, values in j.items():
print(f'{key} - {values}')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/433843.html
上一篇:用`dask.array`索引`numpy.array`
下一篇:如何在python中創建一個(100,19)大小的陣列,每行作為19個值的向量[0000000000010000000]?
