Dataframe &引用;警告:以冒号作为行的索引将在将来创建副本”;在Julia中使用数据帧

Dataframe &引用;警告:以冒号作为行的索引将在将来创建副本”;在Julia中使用数据帧,dataframe,julia,Dataframe,Julia,当我试图从Julia中的数据帧中提取列时,出现以下错误: julia>datecol=df[:,:time] ┌ 警告:使用冒号作为行进行索引将在将来创建副本。使用df[col\u inds]获取列而不复制 │ 调用者=无的顶级作用域:0 └ @ 核心无:0 5000个元素 数组{String,1}: “2002-11-27T22:00:00.000000Z” “2002-11-28 22:00:00.000000Z” . . . 但是,当我执行df[:time]时,不会产生任何警告 有

当我试图从Julia中的数据帧中提取列时,出现以下错误:

julia>datecol=df[:,:time]
┌ 警告:使用冒号作为行进行索引将在将来创建副本。使用
df[col\u inds]
获取列而不复制
│ 调用者=无的顶级作用域:0
└ @ 核心无:0
5000个元素
数组{String,1}:
“2002-11-27T22:00:00.000000Z”
“2002-11-28 22:00:00.000000Z”
.
.
.

但是,当我执行
df[:time]
时,不会产生任何警告


有人能解释一下
df[:,:time]
df[:time]
之间的区别吗?是否每个都执行根本不同的操作???

请将DataFrames.jl更新到当前版本,您将不会收到此警告

现在有什么区别:

  • df[col]
    返回存储在
    DataFrame
    df
    中的列
    col
    (不执行复制-您可以访问存储在
    df
    中的向量)
  • df[:,col]
    返回数据帧中列的副本
    col
x
是Julia中的向量时,该行为类似于编写
x
vs
x[:]

为了说明的完整性,如果
df
子数据帧,则:

  • df[col]
    返回
    df``df
    的父数据帧中列
    col
    的适当视图
  • df[:,col]
    返回由
    df[col]
    返回的视图副本(即法向量-非视图)

简言之,如果您希望
x
的更改值传播回
df
,请使用
x=df[col]
,如果您希望新分配的对象的更改不会传播回
df

,请使用
x=df[:,col]
,谢谢Bogumil!简洁明了的回答-一如既往!我对更新DaraFrams.jl一无所知。你是个传奇,伙计。