将具有常量值的列添加到 DataFrame

Add a column with a constant value to a DataFrame

如何将具有常量值的列添加到 DataFrame?

例如我有以下数据框:

using DataFrames

df = DataFrame(x = 1:10, y = 'a':'j')

并且我想添加一个新变量z,其值为1并获得:

10×3 DataFrame
 Row │ x      y     z     
     │ Int64  Char  Int64
─────┼────────────────────
   1 │     1  a         1
   2 │     2  b         1
   3 │     3  c         1
   4 │     4  d         1
   5 │     5  e         1
   6 │     6  f         1
   7 │     7  g         1
   8 │     8  h         1
   9 │     9  i         1
  10 │    10  j         1

要创建这样的专栏:

df = DataFrame(x = 1:10, y = 'a':'j', d = 1)

要将此类列附加到现有 DataFrame,您需要广播:

df.e .= 1

df[:, "f"] .= 1

更通用的替代方法是:

julia> insertcols!(df, :z => 1)
10×3 DataFrame
 Row │ x      y     z
     │ Int64  Char  Int64
─────┼────────────────────
   1 │     1  a         1
   2 │     2  b         1
   3 │     3  c         1
   4 │     4  d         1
   5 │     5  e         1
   6 │     6  f         1
   7 │     7  g         1
   8 │     8  h         1
   9 │     9  i         1
  10 │    10  j         1

默认情况下做同样的事情,但另外:

  1. 允许您指定新列的位置;
  2. 默认情况下确保您不会意外覆盖现有列