首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataFrame到DataFrameRow转换(朱莉娅)

DataFrame到DataFrameRow转换(朱莉娅)
EN

Stack Overflow用户
提问于 2021-11-04 00:53:01
回答 1查看 108关注 0票数 1

我正在使用Pingouin.jl测试正常度。

在他们的文档里,我们

代码语言:javascript
复制
dataset = Pingouin.read_dataset("mediation")
Pingouin.normality(dataset, method="jarque_bera")

它应该为数据集中的每个DataFrame返回一个正常的truefalse

目前,这个广播是不推荐的,而且我无法为每个唯一的列输出(它正在工作并输出一个DataFrame)连接一个DataFrame的结果。

到目前为止我所拥有的。

代码语言:javascript
复制
function var_norm(df)
  norm = DataFrame([])
  for i in 1:1:length(names(df))
        push!(norm, Pingouin.normality(df[!,names(df)[i]], method="jarque_bera"))
  end
  return norm
end

我所犯的错误:

代码语言:javascript
复制
julia> push!(norm, Pingouin.normality(df[!,names(df)[1]], method="jarque_bera"))
代码语言:javascript
复制
ERROR: ArgumentError: `push!` does not allow passing collections of type DataFrame to be pushed into a DataFrame. Only `Tuple`, `AbstractArray`, `AbstractDict`, `DataFrameRow` and `NamedTuple` are allowed.
Stacktrace:
 [1] push!(df::DataFrame, row::DataFrame; promote::Bool)
   @ DataFrames ~/.julia/packages/DataFrames/vuMM8/src/dataframe/dataframe.jl:1603
 [2] push!(df::DataFrame, row::DataFrame)
   @ DataFrames ~/.julia/packages/DataFrames/vuMM8/src/dataframe/dataframe.jl:1601
 [3] top-level scope
   @ REPL[163]:1

编辑:push!函数没有在我发布的第一个版本中正确地编写。但是,更改后错误仍然存在。如何将DataFrame类型的输出从Pingouin重新格式化为DataFrameRow

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-04 19:29:06

Pengouin.normality返回一个DataFrame时,您将不得不迭代它的结果并逐个推送:

代码语言:javascript
复制
df = Pengouin.normality(…)
for row in eachrow(df)
    push!(norms, row)
end

如果您确信Pengouin.normality返回的DataFrame正好是一行,则只需编写

代码语言:javascript
复制
push!(norms, only(Pengouin.normality(…)))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69833380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档