Julia - describe() 函数显示不完整的汇总统计信息

ecj*_*cjb 2 statistics summary julia

我正在尝试使用 Julia 进行基本数据分析

我正在使用可在此处找到的训练数据集(名为)使用以下代码来学习本教程train_u6lujuX_CVtuZ9i.csv

using DataFrames, RDatasets, CSV, StatsBase
train = CSV.read("/Path/to/train_u6lujuX_CVtuZ9i.csv");
describe(train[:LoanAmount])
Run Code Online (Sandbox Code Playgroud)

并得到这个输出:

Summary Stats:
Length:         614
Type:           Union{Missing, Int64}
Number Unique:  204
Run Code Online (Sandbox Code Playgroud)

而不是教程的输出:

Summary Stats:
Mean:           146.412162
Minimum:        9.000000
1st Quartile:   100.000000
Median:         128.000000
3rd Quartile:   168.000000
Maximum:        700.000000
Length:         592
Type:           Int64
% Missing:      3.583062
Run Code Online (Sandbox Code Playgroud)

也对应于输出StatsBase.jldescribe()功能应该给

Bog*_*ski 5

这是当前(在当前版本中)在 StatsBase.jl 中实现的方式。简而言之train.LoanAmount,没有eltype子类型,Real然后 StatsBase.jl 使用回退方法,只打印长度、eltype 和唯一值的数量。您可以编写describe(collect(skipmissing(train.LoanAmount)))以获取汇总统计信息(当然缺失次数除外)。

但是,实际上,我建议您使用另一种方法。如果您想在单列上获得更详细的输出,请使用:

describe(train, :all, cols=:LoanAmount)
Run Code Online (Sandbox Code Playgroud)

您将获得一个额外返回的输出,DataFrame以便您不仅可以查看统计信息,还可以访问它们。

Option:all将打印所有统计信息,请参阅describeDataFrames.jl 中的 docstring 以查看可用选项。

您可以在此处找到在当前版本的 DataFrames.jl 上使用此函数的一些示例。