Julia 在Dataframe中将列从字符串转换为Int
假设我有一个数据帧Julia 在Dataframe中将列从字符串转换为Int,julia,Julia,假设我有一个数据帧 df=DataFrame(A=rand(5),B=["8", "9", "4", "3", "12"]) 我要做的是将列B转换为Int类型,所以我使用 df[!,:B] = convert.(Int64,df[!,:B]) 但我得到了警告: 'Cannot Convert an object of type string to an object of type Int64
df=DataFrame(A=rand(5),B=["8", "9", "4", "3", "12"])
我要做的是将列B转换为Int类型,所以我使用
df[!,:B] = convert.(Int64,df[!,:B])
但我得到了警告:
'Cannot Convert an object of type string to an object of type Int64'
你能告诉我为什么我错了吗?我相信你想要的是
df[!,:B]=Int64.(df[!,:B])
。Convert仅在类型之间定义,您可以在不丢失信息的情况下进行转换(即在本例中,您不能将任意字符串
转换为Int
)您要查找的是函数,该函数使用点符号在列中的元素上广播:
df = DataFrame(A = rand(5), B = ["8", "9", "4", "3", "12"])
df[!, :B] = parse.(Int64, df[!, :B])
请注意,在此处和答案中编写
df.B
而不是df[!,:B]
就足够了。