<SYSTEM_TASK:>
Given the following text problem statement, write Python code to implement the functionality described below in problem statement
<END_TASK>
<USER_TASK:>
Problem:
Is there a way to change the order of the columns in a numpy 2D array to a new and arbitrary order? For example, I have an array `a`:
<ASSISTANT_TASK:>
Python Code:
import numpy as np
a = np.array([[10, 20, 30, 40, 50],
       [ 6,  7,  8,  9, 10]])
permutation = [0, 4, 1, 3, 2]
c = np.empty_like(permutation)
c[permutation] = np.arange(len(permutation))
a = a[:, c]
<END_TASK>