Made mods to your code to get it to work.
Placed 'Mod' at places where I changed the code.
Code
import numpy as np
class WrongStack:
  def __init__(self):        
      self.__items = np.array([])
  def push(self, item): 
      # Mod--concatenate takes list contains items to concatenate
      self.__items = np.concatenate([self.__items,item])
  def pop(self):  
      # Mod--np.delete returns a new array
            # also retrieve last element before delete
      last = self.__items[-1]
      self.__items = np.delete(self.__items,-1, 0)
      return last
  def peek(self):  
      return self.__items[len(self.__list) - 1]
  def is_empty(self): 
      # Mod--use function size    
      return self.size() == 0
  def size(self):                 
      return len(self.__items)
  def __str__(self):
    # Mod--added for display the array
    return str(self.__items)
s = WrongStack()
number = input('Choose a number, 0 to finish: ')
while len(number) > 0 and number != '0': #Mod done if no input or '0' entered
  # Mod--convert numer to integer
  s.push(np.array([number], dtype=np.int32)) # specify type (i.e. int32)
  number = input('Choose a number, 0 to finish: ')
# Mod--print array created
print('Array created:', s)
while not s.is_empty():
  number = s.pop()
  print('number: ', number)
Test
Choose a number, 0 to finish: 1
Choose a number, 0 to finish: 2
Choose a number, 0 to finish: 3
Choose a number, 0 to finish: 4
Choose a number, 0 to finish: 5
Choose a number, 0 to finish: 0
Array created: [1. 2. 3. 4. 5.]
number:  5.0
number:  4.0
number:  3.0
number:  2.0
number:  1.0
Alternative
Relies on Numpy fixed size array.  Uses slices and range checking to insure we stay within allocated size.
import numpy as np
class WrongStack:
  def __init__(self, maxlen=100):        
      self.__items = np.array([0]*maxlen) # Fixed size Numpy array
      self._count = 0
      self._maxlen = maxlen
  def push(self, item): 
      # Mod--concatenate takes list contains items to concatenate
      if self._count < self._maxlen:
        self.__items[self._count] = item
        self._count += 1
      else:
        print('push: no more space')
  def pop(self):  
      # Mod--np.delete returns a new array
            # also retrieve last element before delete
      if self._count > 0:
        last = self.__items[self._count-1]
        self._count -= 1
        return last
      else:
        return None
  def peek(self):
      if self._count > 0:
        return self.__items[self._count-1]
      else:
        return None
  def is_empty(self): 
      # Mod--use function size    
      return self.size() == 0
  def size(self):                 
      return self._count
  def __str__(self):
    # Mod--added for display the array
    return str(self.__items[:self._count])
s = WrongStack(10) # will handle stack with up to 10 elements
number = input('Choose a number, 0 to finish: ')
while len(number) > 0 and number != '0': #Mod done if no input or '0' entered
  # Mod--convert numer to integer
  s.push(number) # specify type (i.e. int32)
  number = input('Choose a number, 0 to finish: ')
# Mod--print array created
print('Array created:', s)
while not s.is_empty():
  number = s.pop()
  print('number: ', number)