程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在 julia 中更改字典的键?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在 julia 中更改字典的键??

开发过程中遇到如何在 julia 中更改字典的键?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在 julia 中更改字典的键?的解决方法建议,希望对你解决如何在 julia 中更改字典的键?有所启发或帮助;

我想用一列数据框替换字典的一个键的值。如果第一个键中的任何值重复,则第二个键中的值也会重复。

例如:

using DataFrames
d = d = Dict(:1 => 2,:2=>3,:3=>4)
df = DataFrame(a = [1,1,2,3,3],b = [7,6,5,4,2],c = [9,8,7,8])

#Output
Dict{Int64,Int64} with 4 entrIEs:
  3 => 4
  2 => 7
  1 => 6

#Dataframe
8 rows × 3 columns
a   b   c
Int64   Int64   Int64
1   7   9
1   6   8
2   5   7
2   4   6
3   3   6
3   2   8

我想用 Dict = d 替换 df.a 的键,以生成以下字典。

Dict{Int64,Int64} with 6 entrIEs:
 1 => 6
 1 => 6
 2 => 7
 2 => 7
 3 => 4
 3 => 4

我可以知道如何实现这个操作吗?

更新

首先,感谢@gTcV 提出的惊人建议和大力帮助,非常感谢!!!

只是为了提取值,可以按照@gTcV 提到的上述帖子进行操作。 但是,要实现上述数据帧操作,可以使用以下代码段:

using DataFrames
d = d = Dict(:1 => 2,8])
df[!,c] = [i=d[i] for i in df[:,:a]]

Output: --> 
6×3 DataFrame
 Row │ a      b      c     
     │ Int64  Int64  Int64 
─────┼─────────────────────
   1 │     1      7      2
   2 │     1      6      2
   3 │     2      5      3
   4 │     2      4      3
   5 │     3      3      4
   6 │     3      2      4

谢谢!!

解决方法

Dicts 不允许重复的键,所以你要求的是不可能的。如果只是关于输出,您可以执行以下操作:

for a in df[:,1]
    println("$a => $(d[a])")
end

大佬总结

以上是大佬教程为你收集整理的如何在 julia 中更改字典的键?全部内容,希望文章能够帮你解决如何在 julia 中更改字典的键?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: