我创建了嵌套字典来为每个组合保留多个值,字典中的示例行如下:-
dict = {'A': {B: array([1,2,3,4,5,6,7,8,9,10]), C: array([array([1,2,3,4,5,6,7,8,9,10],...}}
有多个 As 并且每个数组都有多个数组。现在我想更新具有以下行的数据框:
| 第 1 栏 | 第 2 栏 | 第 3 栏 | 第四栏 |
|---|---|---|---|
| 一个 | 乙 | 2 | 10 |
| 一个 | C | 3 | 10 |
在此数据框中,取决于 col 3 中的值,我需要创建行,例如 A 和 B 将有两行,然后每行将字典中的第一个值乘以 col 4,例如第一行将乘以 1数组中的 2 乘以 2,以此类推,输出将如下所示:-
| 第 1 栏 | 第 2 栏 | 第 3 栏 | 第四栏 | 第五栏 |
|---|---|---|---|---|
| 一个 | 乙 | 1 | 10 | 10 |
| 一个 | 乙 | 1 | 10 | 20 |
| 一个 | C | 1 | 10 | 10 |
| 一个 | C | 1 | 10 | 20 |
| 一个 | C | 1 | 10 | 30 |
我可以通过在字典中迭代来访问数组中的所有值,如下所示:-
for i in dict:
for j in dict[i]:
dict[i][j]
但随后无法遍历数据帧的每一行以将每个 Col1 和 Col2 组合的值相乘以创建 Col 5。请建议循环遍历 Col 1 和 Col 2 上的数据帧并使用来自的值的最佳方法字典基于从 col3 到 Col 4 的行数,考虑到 Col 1 和 Col 2 组合有多个值,并且字典对于每个组合有 10 个值。
编辑:
遍历字典很重要,因为每个组合对于简单的解释都有不同的价值,我把它放在 1,2...等。但是字典是通过另一个代码创建的,其中每个组合都有不同的值,
例如它可以像
"dict = {'A': {B: array([0.5,0.2,3,4,5,6,7,8,9,10]), C: array([array([0.9,0.6,0.2,4,5,6,7,8,9,10],...}}"
在这种情况下,A 和 B 组合上第一行的 Col4 将乘以 0.5,第二行将乘以 0.2,如果 A 和 C 第一行将是 0.9,第二行是 0.6,第三行是 0.2。
寻求帮助如何从字典中迭代这些值并更新数据框,字典中每个组合都有 10 个值,并且在数据框中,每个组合可以有 0 到 10 之间的任何行,因此需要更新相应的值。