在下面的代碼中,我想用每行的平均價格更新fruit_dict字典。但代碼沒有按預期作業。懇請幫助。
#!/usr/bin/python3。
import random
import numpy as np
import pandas as pd
price=np.array(range(20)).reshape(5,4) #sample data for illustration# list of keys for dictionary[/span]。
for i in range(5)。
key = "fruit_" str(i)
fruit_keys.append(key)
#初始化一個字典。
fruit_dict = dict.fromkeys(fruit_keys)
fruit_list = []
# print(fruit_dict)/span>
# update dictionary values
for i in range(price.shape[1] )。
for key,value in fruit_dict.items()。
for j in range(price.shape[0]) 。
fruit_dict[key] = np.mean(price[j])
fruit_list.append(fruit_dict)
fruit_df = pd.DataFrame(fruit_list)
print(fruit_df)
uj5u.com熱心網友回復:
與其用字串模式創建字典,你可以通過只迭代行來追加行的手段的值,作為一個字串模式。 如果你有一個具有某種模式的字典,你可以在一個單一的回圈中通過將鍵指定為你需要顯示的模式來更新值。你不需要創建一個額外的串列來創建一個資料框架,相反,你可以參考從字典本身創建資料框架的檔案這里。我已經提供了一個樣本輸出,可能適合你的要求。 如果你需要一個以均值為列、以水果為行的輸出,你可以使用下面的實作。
#!/usr/bin/python3。
import random
import numpy as np
import pandas as pd
行=5
列 = 4
price = np.array(range(20).reshape(row, column) # samples data for illustration#初始化一個字典。
fruit_dict = {}
for j in range(row)。
fruit_dict['fruit_' str(j)] = np.mean(price[j])
fruit_df = pd.DataFrame.from_dict(fruit_dict,orient='index',columns=['mean_value'] )
print(fruit_df)
這將提供一個像下面這樣的輸出。正如我已經提到的,你可以通過參考上面的資料框架檔案,按照你的意愿從一個字典中創建資料框架。
mean_value
fruit_01.5
fruit_1 5.5 5.5
fruit_2 9.5 9.5
fruit_3 13.5 13.5
fruit_4 17.5
uj5u.com熱心網友回復:
你不應該在范圍和字典專案上嵌套回圈,你應該一起迭代它們。你可以用 enumerate() 來做。
你也沒有使用value,所以沒有必要使用items()。
for i, key in enumerate( fruit_dict )。
fruit_dict[key] = np.mean(price[j])
uj5u.com熱心網友回復:
根據Sangeerthan提供的答案,可以得出一個解決方案。請在下面找到同樣的內容。
#!/usr/bin/python3。
fruit_dict = {}
Fruit_list =[]
price=np.array(range(40).reshape(4,10)
for i in range(price.shape[0]) 。
mark_price = np.square(price[i])
for j in range(mark_price.shape[0]) 。
fruit_dict['proj_fruit_price_' str(j)] = np.mean(mark_price[j])
fruit_list.append(fruit_dict.copy())
fruit_df = pd.DataFrame(fruit_list)
uj5u.com熱心網友回復:
你可以用這個來代替你的回圈:
fruit_keys = [] # list of keys for dictionary。
for i in range(5)。
key = "fruit_" str(i)
fruit_keys.append(key)
out = {fruit_keys[index]: np.mean(price[index]) for index in range(price.shape[0])}。
輸出:
{'fruit_1': '1.5', 'fruit_2': '5.5', ' fruit_3': '9.5', ' fruit_4': '13.5', ' fruit_5': '17.5'}。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/328610.html
標籤:
