如何将具有常数值的列添加到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
默认情况下也会这样做,但它另外:
- 允许您指定新列的位置
- 默认情况下,确保不会意外覆盖现有列
要创建这样的列:
df = DataFrame(x = 1:10, y = 'a':'j', d = 1)
要将这样的列附加到现有的DataFrame,您需要广播:
df.e .= 1
或
df[:, "f"] .= 1