code: def set_position_row(row, asset, asset_values=list()):
      """
      Apply the position data as individual columns.
  
      Parameters
      ----------
      row: dict[str, Object]
      asset: TradingPair
      asset_values: list[str]
          If a recorded_col contains a tuple which first value is an asset
          matching a position, its value will be displayed with the
          position and not in the index.
  
      Returns
      -------
  
      """
      asset_cols = ["symbol"]
      row["symbol"] = asset.symbol
  
      position = next(
          (p for p in row["positions"] if p["sid"] == asset), None
      )
  
      columns = ["amount", "cost_basis", "last_sale_price"]
      for column in columns:
          if position is not None:
              row[column] = position[column]
  
          else:
              row[column] = 0
  
          asset_cols.append(column)
  
      values = asset_values[asset] if asset in asset_values else list()
      for column in values:
          row[column] = values[column]
  
          asset_cols.append(column)
  
      return asset_cols
  
imports: import copy
  import csv
  import json
  import numbers
  import os
  import time
  import numpy
  import pandas
  from catalyst.assets._assets import TradingPair
  from catalyst.exchange.utils.exchange_utils import get_algo_folder
  from catalyst.utils.paths import data_root, ensure_directory
  from operator import itemgetter
label_desc: Use image node_id 5 for calling a global function with example usage: set_position_row(row, asset, asset_values) and returns: asset_cols