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



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

例如,我有以下DataFrame:

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

我想添加一个具有常数值1的新变量z,并获得:

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

一个更通用的替代方案是:

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. 默认情况下,确保不会意外覆盖现有列

要创建这样的列:

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

要将这样的列附加到现有的DataFrame,您需要广播:

df.e .= 1

df[:, "f"] .= 1

最新更新