code: def mask_pandas_args(self, kwargs):
      pandas_kwargs = {
          key: val
          for (key, val) in iteritems(kwargs)
          if key in ALLOWED_READ_CSV_KWARGS
      }
      if "usecols" in pandas_kwargs:
          usecols = pandas_kwargs["usecols"]
          if usecols and self.date_column not in usecols:
              # make a new list so we don't modify user's,
              # and to ensure it is mutable
              with_date = list(usecols)
              with_date.append(self.date_column)
              pandas_kwargs["usecols"] = with_date
  
      # No strings in the 'symbol' column should be interpreted as NaNs
      pandas_kwargs.setdefault("keep_default_na", False)
      pandas_kwargs.setdefault("na_values", {"symbol": []})
  
      return pandas_kwargs
  
imports: from abc import ABCMeta, abstractmethod
  from collections import namedtuple
  import hashlib
  from textwrap import dedent
  import warnings
  from logbook import Logger
  import numpy
  import pandas
  from pandas import read_csv
  import pytz
  import requests
  from six import StringIO, iteritems, with_metaclass
  from catalyst.errors import MultipleSymbolsFound, SymbolNotFound, ZiplineError
  from catalyst.protocol import DATASOURCE_TYPE, Event
  from catalyst.assets import Equity
  from catalyst.constants import LOG_LEVEL
label_desc: Use image node_id 6 for calling the PandasCSV obj's underlying member method code with example usage: obj.mask_pandas_args(kwargs) and returns: pandas_kwargs