Julia 数据框替换列中的字符

Aji*_*ain 3 replace julia

我正在朱莉娅处理一个数据框,其中一列有邮政编码。在某些情况下,州代码会附加在邮政编码前面。

例如:如果邮政编码是123456,州是ab,则它看起来像ab 123456

该列中有多个类似的值。我如何替换该栏中的所有"ab "内容。""

Bog*_*ski 5

您可以使用replace带有与您的模式匹配的正则表达式的函数,并将其广播到该列的所有条目,如下所示:

\n
julia> using DataFrames\n\njulia> df = DataFrame(x = ["ab x", "y", "ab z"])\n3\xc3\x971 DataFrame \n Row \xe2\x94\x82 x      \n     \xe2\x94\x82 String \n\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n   1 \xe2\x94\x82 ab x   \n   2 \xe2\x94\x82 y      \n   3 \xe2\x94\x82 ab z   \n\njulia> df.x .= replace.(df.x, r"^ab " => "")\n3-element Vector{String}:\n "x"\n "y"\n "z"\n\njulia> df\n3\xc3\x971 DataFrame\n Row \xe2\x94\x82 x      \n     \xe2\x94\x82 String \n\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\n   1 \xe2\x94\x82 x\n   2 \xe2\x94\x82 y\n   3 \xe2\x94\x82 z\n
Run Code Online (Sandbox Code Playgroud)\n

  • 如果“州”是“总是两个字母”,那么人们可以将正则表达式(对于许多州的不正确条目)概括为“r”^[az][az]“”或类似的模式(可能会根据情况稍作修改) - 不敏感).. (2认同)