当我尝试从Julia中的DataFrame中提取列时,出现以下错误:
julia> datecol = df [:,:time]
┌警告:使用冒号作为行进行索引将在以后创建副本.使用df[col_inds]得到而不进行复制的列
在无│呼叫者=顶层范围:0
└@核心无:0
5000-元件
阵列{字符串,1}:
"2002-11-27T22:00:00.000000Z"
"2002-11 -28T22:00:00.000000Z"
.
.
.
但是,当我执行时df[:time]没有产生任何警告.
有人可以阐明df[:, :time]和之间的区别df[:time]吗?每个都执行根本不同的操作???
请将DataFrames.jl更新为当前版本,您将不会收到此警告.
现在有什么区别:
df[col]返回存储在那里的列col中的列DataFrame df(不执行复制 - 您可以访问存储在其中的向量df)df[:, col]返回你一列的副本col中DataFrame该行为类似于写作xVS x[:]时x在朱莉娅的向量.
为了完整的博览会,如果df是SubDataFrame那么:
df[col]将返回列的相应的视图col父DataFrame的df``df)df[:, col]返回返回的视图的副本df[col](即法线向量 - 而不是视图)简而言之 - x = df[col]如果您希望将更改的值x传播回df并使用,x = df[:, col]如果您想要一个新更改的对象,其更改不会传播回来,则使用df.
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |