# Subtracting the values in one column from corresponding values in all other columns of a DataFrame

**URL:** <https://discourse.julialang.org/t/subtracting-the-values-in-one-column-from-corresponding-values-in-all-other-columns-of-a-dataframe/60675>\
**Category:** New to Julia\
**Tags:** dataframes\
**Created:** [May 6, 2021, 7:00pm UTC](https://discourse.julialang.org/t/subtracting-the-values-in-one-column-from-corresponding-values-in-all-other-columns-of-a-dataframe/60675 "2021-05-06T19:00:48Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nash](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nash/32/14482_2.png) [@Nash](https://discourse.julialang.org/u/Nash)\
**Post date:** [May 6, 2021, 7:00pm UTC](https://discourse.julialang.org/t/subtracting-the-values-in-one-column-from-corresponding-values-in-all-other-columns-of-a-dataframe/60675/1 "2021-05-06T19:00:48Z")

</div>

I have two DataFrames. One contains simply one column. The other contains multiple columns. The DataFrames have the same number of rows.

How do I subtract the values in the first DataFrame from the corresponding values in all columns of the second DataFrame?

---

<div class="post-metadata">

**Author:** ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)\
**Post date:** [May 6, 2021, 7:05pm UTC](https://discourse.julialang.org/t/subtracting-the-values-in-one-column-from-corresponding-values-in-all-other-columns-of-a-dataframe/60675/2 "2021-05-06T19:05:31Z")

</div>

Best to just use a `for` loop

```julia
julia> df1 = DataFrame(a = fill(100, 10));

julia> df2 = DataFrame(rand(10, 10), :auto);

julia> for n in names(df2)
           df2[:, n] .= df2[:, n] .- df1.a
       end

```

---

<div class="post-metadata">

**Author:** ![Satvik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/satvik/32/20486_2.png) [@Satvik](https://discourse.julialang.org/u/Satvik)\
**Post date:** [May 6, 2021, 7:07pm UTC](https://discourse.julialang.org/t/subtracting-the-values-in-one-column-from-corresponding-values-in-all-other-columns-of-a-dataframe/60675/3 "2021-05-06T19:07:52Z")

</div>

> [@pdeffebach](#):
>
> ```julia
> julia> df1 = DataFrame(a = fill(100, 10));
> 
> julia> df2 = DataFrame(rand(10, 10), :auto);
> 
> ```

You can also use broadcasting, `df2 .- df1[:, "a"]`

---

<div class="post-metadata">

**Author:** ![bkamins](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bkamins/32/208538_2.png) [@bkamins](https://discourse.julialang.org/u/bkamins)\
**Post date:** [May 6, 2021, 7:13pm UTC](https://discourse.julialang.org/t/subtracting-the-values-in-one-column-from-corresponding-values-in-all-other-columns-of-a-dataframe/60675/4 "2021-05-06T19:13:31Z")

</div>

or just `df2 .-= df1.a` for an in-place operation.
