Dataframe 连接字符串列上的两个数据帧,但忽略重音/变音符号
我有两个数据帧,我想基于一个字符串列进行连接,但其中一个使用非常劣质的unicode支持对其名称进行编码,从而删除重音和其他变音符号:Dataframe 连接字符串列上的两个数据帧,但忽略重音/变音符号,dataframe,julia,Dataframe,Julia,我有两个数据帧,我想基于一个字符串列进行连接,但其中一个使用非常劣质的unicode支持对其名称进行编码,从而删除重音和其他变音符号: fips = DataFrame(muni=["Adjuntas", "Anasco", "Bayamon", "Mayaguez"], fips=[72001, 72011, 72021, 72097]) pops = DataFrame(muni=["Adjuntas&
fips = DataFrame(muni=["Adjuntas", "Anasco", "Bayamon", "Mayaguez"], fips=[72001, 72011, 72021, 72097])
pops = DataFrame(muni=["Adjuntas", "Añasco", "Bayamón", "Mayagüez"], pop=[17363, 26161, 169269, 71530])
我想让leftjoin(pops,fips;on=:muni)
在连接时使用一个近似等式,处理缺少的重音和变音符号(但确保基本字符是相同的),或者,如果失败,在pops
上进行某种ascii字符串转换,这是您想要的吗
julia> using Unicode
julia> leftjoin(transform(pops,
:muni =>
ByRow(x -> Unicode.normalize(x, stripmark=true)) =>
:muni,
copycols=false),
fips, on=:muni)
4×3 DataFrame
Row │ muni pop fips
│ String Int64 Int64?
─────┼──────────────────────────
1 │ Adjuntas 17363 72001
2 │ Anasco 26161 72011
3 │ Bayamon 169269 72021
4 │ Mayaguez 71530 72097
太好了,谢谢你!我发现并实现了normalize |>regex工作流的音译,但错过了更直接、更简洁的
stripmark
normalization选项。谢谢