Concatenate DataFrame Column Values in Julia

Concatenate DataFrame Column Values in Julia

  • Julia
  • 2 mins read

This tutorial demonstrates how to use a DataFrame in Julia by creating a simple DataFrame with four columns, defining a function that adds a new column to the DataFrame by concatenating the values in other columns, and calling the function to add a new column to the DataFrame. The resulting DataFrame is then printed to the console.

Concatenate DataFrame Column Values in Julia Example

Here is an example of using a DataFrame in Julia:

using DataFrames

# Create a DataFrame with four columns: "a", "b", "c", and "d"
df = DataFrame(a = ["aa" for _ in 1:10], b = ["bb" for _ in 1:10], 
               c = ["cc" for _ in 1:10], d = ["dd" for _ in 1:10])

# Define a function that adds a new column to the DataFrame
function add_column(df::DataFrame, colname::Symbol, cols_to_concat::Vector)
   df[!,colname] = (df[!, names(df)[cols_to_concat[1]]] 
                .* df[!, names(df)[cols_to_concat[2]]] 
                .* df[!, names(df)[cols_to_concat[3]]])
end

# Use the function to add a new column to the DataFrame
add_column(df, :add, [1, 4, 4])

# Print the updated DataFrame
println(df)

This code creates a DataFrame with four columns: "a", "b", "c", and "d". It then defines a function add_column that takes a DataFrame, a column name (as a symbol), and a vector of indices for the columns to be concatenated. The function adds a new column to the DataFrame by concatenating the values in the specified columns. Finally, the function is called to add a new column called "add" to the DataFrame by concatenating the values in the first, fourth, and fourth columns. The updated DataFrame is then printed to the console.

Output:

10×5 DataFrame
 Row │ a       b       c       d       add    
     │ String  String  String  String  String 
─────┼────────────────────────────────────────
   1 │ aa      bb      cc      dd      aadddd
   2 │ aa      bb      cc      dd      aadddd
   3 │ aa      bb      cc      dd      aadddd
   4 │ aa      bb      cc      dd      aadddd
   5 │ aa      bb      cc      dd      aadddd
   6 │ aa      bb      cc      dd      aadddd
   7 │ aa      bb      cc      dd      aadddd
   8 │ aa      bb      cc      dd      aadddd
   9 │ aa      bb      cc      dd      aadddd
  10 │ aa      bb      cc      dd      aadddd

Related: