nodes: 0, module; 1, function_definition; 2, function_name:append_row; 3, parameters; 4, block; 5, identifier:self; 6, identifier:index; 7, identifier:value; 8, expression_statement; 9, if_statement; 10, expression_statement; 11, expression_statement; 12, comment:"""
          Appends a row of value to the end of the data. Be very careful with this function as for sorted Series it will 
          not enforce sort order. Use this only for speed when needed, be careful.
  
          :param index: index
          :param value: value
          :return: nothing
          """; 13, comparison_operator:index in self._index; 14, block; 15, call; 16, call; 17, identifier:index; 18, attribute; 19, raise_statement; 20, attribute; 21, argument_list; 22, attribute; 23, argument_list; 24, identifier:self; 25, identifier:_index; 26, call; 27, attribute; 28, identifier:append; 29, identifier:index; 30, attribute; 31, identifier:append; 32, identifier:value; 33, identifier:IndexError; 34, argument_list; 35, identifier:self; 36, identifier:_index; 37, identifier:self; 38, identifier:_data; 39, string; 40, string_content:index already in Series
code: def append_row(self, index, value):
          """
          Appends a row of value to the end of the data. Be very careful with this function as for sorted Series it will 
          not enforce sort order. Use this only for speed when needed, be careful.
  
          :param index: index
          :param value: value
          :return: nothing
          """
          if index in self._index:
              raise IndexError('index already in Series')
  
          self._index.append(index)
          self._data.append(value)