Dataframe 转换数据帧的快捷方式

Dataframe 转换数据帧的快捷方式,dataframe,julia,Dataframe,Julia,我想对Julia中数据帧的所有列应用日志转换: my_df = DataFrame(A = [1,2], B=[3,4]) 做这件事的简明方法是什么?除了评论中给出的建议外,目前没有任何定制的功能。有关讨论,请参阅本期: 看起来很紧凑。但是其他的评论和回答也很好。这并没有进行适当的转换。要就地执行,请使用: foreach(x -> my_df[x] = log(my_df[x]), names(my_df)) Bogumił建议(未经广播,见下文) 此外,还有log(c::DataA

我想对Julia中数据帧的所有列应用日志转换:

my_df = DataFrame(A = [1,2], B=[3,4])

做这件事的简明方法是什么?

除了评论中给出的建议外,目前没有任何定制的功能。有关讨论,请参阅本期:

看起来很紧凑。但是其他的评论和回答也很好。这并没有进行适当的转换。要就地执行,请使用:

foreach(x -> my_df[x] = log(my_df[x]), names(my_df))
Bogumił建议(未经广播,见下文)

此外,还有
log(c::DataArray)
自动广播的问题,这使得
log.(c::DataArray)
返回垃圾:

julia> log(my_df[:A])
2-element DataArrays.DataArray{Float64,1}:
 0.0     
 0.693147

julia> log.(my_df[:A])
0-dimensional DataArrays.DataArray{Float64,0}:
0.0

log_-df=DataFrame(map(x->map(log,x),(my_-df[x]代表x的名字(my_-df)),names(my_-df))
foreach(x->my_-df[x]=log.(my_-df[x]),names(my_-df))这个
colwise(log,my-df)
做日志,但之后不收集数据帧(我假设你需要它)@MichaelK.borregard是的。我希望在结尾有一个经过转换的数据帧。在Julia 0.6下,rc1
log.(my_-df[:A])
工作正常(如果我正确理解了语言设计的方向
log(my_-df[:A])
应该很快贬值)。@BogumiłKamiński打印输出在
版本0.7.0-DEV.360
上<代码>日志。(更有意义。这种不稳定会降低成本
julia> log(my_df[:A])
2-element DataArrays.DataArray{Float64,1}:
 0.0     
 0.693147

julia> log.(my_df[:A])
0-dimensional DataArrays.DataArray{Float64,0}:
0.0