我在下面創建了以下字典 ( mean_task_dict)。該詞典包括與三個串列關聯的三個鍵。每個串列包括 48 個數值。
mean_task_dict = {
"Interoception": task_mean_intero,
"Exteroception": task_mean_extero,
"Cognitive": task_mean_cognit,
}
我想在散點圖中繪制每個串列中包含的值,其中 x 軸包含三個類別 ( ROI_positions = np.array([1, 2, 3]))。字典中的每個相應串列都必須鏈接到ROI_positions上面的類別之一。
這是我當前對此任務的嘗試或代碼:
import numpy as np
import matplotlib.pyplot as plt
task_mean_intero = [-0.28282956438352846, -0.33826908282117457, -0.23669673649758388]
task_mean_extero = [-0.3306686353702893, -0.4675910056474869, -0.2708033871055369]
task_mean_cognit = [-0.3053766849270014, -0.41698707094527254, -0.35655464189810543]
mean_task_dict = {
"Interoception": task_mean_intero,
"Exteroception": task_mean_extero,
"Cognitive": task_mean_cognit,
}
for value in mean_task_dict.values():
ROI_positions = np.array([1, 2, 3])
data_ROIs = np.array([
mean_task_dict["Interoception"][1],
mean_task_dict["Exteroception"][1],
mean_task_dict["Cognitive"][1]
])
plt.scatter(ROI_positions, data_ROIs)
我的問題是我只能通過范式選擇每個串列的第二個索引值來計算和繪制一個值的資料[1]。
我如何遍歷嵌套在字典中的三個串列中的所有值,以便我可以將它們全部繪制在一個圖中?
uj5u.com熱心網友回復:
你想要這樣的東西嗎?
ROI_positions = np.array([1, 2, 3])
for i in range(len(mean_task_dict)):
data_ROIs = np.array([
mean_task_dict["Interoception"][i],
mean_task_dict["Exteroception"][i],
mean_task_dict["Cognitive"][i]
])
plt.scatter(ROI_positions, data_ROIs)
plt.show()

為了獨立于字典大小,你可以這樣做,
ROI_positions = np.arange(len(mean_task_dict))
data_ROIs = np.array(list(zip(*mean_task_dict.values())))
for i in range(len(mean_task_dict)):
plt.scatter(ROI_positions, data_ROIs[i])
plt.show()
uj5u.com熱心網友回復:
使用嵌套回圈迭代字典的每個元素,然后迭代該字典元素的每個串列項。
for value in mean_task_dict.values():
for item in value:
#do stuff here
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/534999.html
下一篇:用字典元素填充熊貓資料框
