Dataframe descripe()返回;错误:未定义错误:描述未定义;

Dataframe descripe()返回;错误:未定义错误:描述未定义;,dataframe,julia,Dataframe,Julia,我将一个表从SQL数据库导入到一个数据框中,现在我正试图通过descripe()获取数据框的统计信息。我还尝试了head()。两者都返回一个错误“error:UndefVarError:descripe not defined” 我已经添加并导入了DataFrames包来解决这个问题,但没有成功 以下是我导入数据帧的方式: using Pkg Pkg.add("ODBC") Pkg.add("DataFrames") using ODBC, DataFrames db = ODBC.DS

我将一个表从SQL数据库导入到一个数据框中,现在我正试图通过
descripe()
获取数据框的统计信息。我还尝试了
head()
。两者都返回一个错误
“error:UndefVarError:descripe not defined”

我已经添加并导入了
DataFrames
包来解决这个问题,但没有成功

以下是我导入数据帧的方式:

using Pkg

Pkg.add("ODBC")

Pkg.add("DataFrames")

using ODBC, DataFrames

db = ODBC.DSN(connection_string)

query = ODBC.query(db, "SELECT * FROM table")

df = DataFrame(query)

describe(df)

我希望得到类似于
descripe()
head()
Python函数的结果。在运行
head(df)
之后,我希望看到列标签和前几行。在运行
descripe(df)
之后,我希望每个列标签的最小值、最大值、平均值、计数等都是
第一个
而不是头。有关示例,请参见下面的代码:

julia> using DataFrames

julia> df = DataFrame(a=1:5,b=6:10)
5×2 DataFrame
│ Row │ a     │ b     │
│     │ Int64 │ Int64 │
├─────┼───────┼───────┤
│ 1   │ 1     │ 6     │
│ 2   │ 2     │ 7     │
│ 3   │ 3     │ 8     │
│ 4   │ 4     │ 9     │
│ 5   │ 5     │ 10    │

julia> first(df,3)
3×2 DataFrame
│ Row │ a     │ b     │
│     │ Int64 │ Int64 │
├─────┼───────┼───────┤
│ 1   │ 1     │ 6     │
│ 2   │ 2     │ 7     │
│ 3   │ 3     │ 8     │

julia> describe(df)
2×8 DataFrame
│ Row │ variable │ mean    │ min   │ median  │ max   │ nunique │ nmissing │ eltype   │
│     │ Symbol   │ Float64 │ Int64 │ Float64 │ Int64 │ Nothing │ Nothing  │ DataType │
├─────┼──────────┼─────────┼───────┼─────────┼───────┼─────────┼──────────┼──────────┤
│ 1   │ a        │ 3.0     │ 1     │ 3.0     │ 5     │         │          │ Int64    │
│ 2   │ b        │ 8.0     │ 6     │ 8.0     │ 10    │         │          │ Int64    │

您是否也导入了
Pandas.jl
或任何其他提供
description
head
的软件包?在这种情况下,您需要使用完全限定名
DataFrames.description
DataFrames.head
。这在其他情况下是不必要的。谢谢!我很惊讶我读到的Julia page没有在任何地方提到这一点。
head
目前在那里,尽管已经弃用。我不认为OP-get的错误是关于
head
被弃用的。@hckr注意,通过用另一个方法定义覆盖方法定义,他不应该得到
UndefVarError
。无论如何,您提到的完全限定名称对于名称冲突场景确实很有用:-)我在评论中的意思是使用Plots,GR;绘图(兰特(5))。在这种情况下,您将得到一个
UndefVarError
,并在第一次尝试访问
plot
时发出警告。我喜欢您的示例。虽然我刚刚检查了只有在使用语句在一个
中导入两个包时才会发生这种情况;使用GR;绘图(兰特(5))
。我相信,除非您在使用GR之前在代码中调用
plot
,否则您仍然会得到
UndervarError
。所以
使用绘图。。。写尽可能多的不调用plot的语句;使用GR;绘图
仍将显示
未定义的错误
。但是,如果在此之前调用
plot
,则不带限定符的
plot
将指向
plot.plot
,如果需要访问
GR.plot
,则仍然需要限定
plot