dataframe - 转换数据框的快捷方式

标签 dataframe julia

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

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

执行此操作的简洁方法是什么?

最佳答案

log_df = DataFrame(;Dict(c=>log(my_df[c]) for c in names(my_df))...)

看起来很紧凑。但其他评论和答案也很好。这不会就地进行转换。要就地执行此操作,请使用:

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

关于dataframe - 转换数据框的快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44235201/

相关文章:

arrays - 在 julia 中合并两个排序数组

apache-spark - 根据pyspark中的条件从数据框中删除行

python - pandas 数据框中的 if else 条件并提取列值

arrays - 将 3 维数组转换为数据框

Julia:函数数组

julia - 向 Julia 中的矩阵添加一行?

python - 如何将数据框附加到 Excel 模板?

python - Pandas 合并具有不同列的两个数据框

dataframe - 如何将 Julia DataFrame 列中的数值转换为缺失值?

memory-management - 对 Julia 中的内存分配和垃圾收集感到困惑