=====Function Descriptions=====
Concatenate
Two or more arrays can be concatenated together using the concatenate function with a tuple of the arrays to be joined:
import numpy
array_1 = numpy.array([1,2,3])
array_2 = numpy.array([4,5,6])
array_3 = numpy.array([7,8,9])
print numpy.concatenate((array_1, array_2, array_3))    
#Output
[1 2 3 4 5 6 7 8 9]
If an array has more than one dimension, it is possible to specify the axis along which multiple arrays are concatenated. By default, it is along the first dimension.
import numpy
array_1 = numpy.array([[1,2,3],[0,0,0]])
array_2 = numpy.array([[0,0,0],[7,8,9]])
print numpy.concatenate((array_1, array_2), axis = 1)   
#Output
[[1 2 3 0 0 0]
 [0 0 0 7 8 9]]    
=====Problem Statement=====
You are given two integer arrays of size NXP and MXP (N & M are rows, and P is the column). Your task is to concatenate the arrays along axis 0.
=====Input Format=====
The first line contains space separated integers N, M and P .
The next N lines contains the space separated elements of the P columns.
After that, the next M lines contains the space separated elements of the P columns.
=====Output Format=====
Print the concatenated array of size (N + M)XP.
import numpy
n, m, p = [int(x) for x in input().strip().split()] 
arr1 = []
arr2 = []

for _ in range(n):
    arr1.append([int(x) for x in input().strip().split()] )
    
for _ in range(m):
    arr2.append([int(x) for x in input().strip().split()] )
    
arr1 = numpy.array(arr1)
arr2 = numpy.array(arr2)

print(numpy.concatenate((arr1, arr2)))
import numpy
n, m, p = [int(x) for x in input().strip().split()] 
arr1 = []
arr2 = []

for _ in range(n):
    arr1.append([int(x) for x in input().strip().split()] )
    
for _ in range(m):
    arr2.append([int(x) for x in input().strip().split()] )
    
arr1 = numpy.array(arr1)
arr2 = numpy.array(arr2)

print(numpy.concatenate((arr1, arr2)))