BUG: Unexpected behavior when assigning multi-dimensional array to DataFrame column
- [x] I have searched the [[pandas] tag](https://stackoverflow.com/questions/tagged/pandas) on StackOverflow for similar questions.

- [x] I have asked my usage related question on [StackOverflow](https://stackoverflow.com).

---

#### Question about pandas

My question is essentially the same as the StackOverflow question [“Unexpected behavior in assigning 2d numpy array to pandas DataFrame”](https://stackoverflow.com/q/52142475), which, although it has an accepted answer, states in an edit to the question text:

> Since the bounty is going to expiry [sic], I accepted the most voted answer. But it does not provide a answer to the above questions.

I agree, and still don’t understand the behavior described in the question, which I will restate here:
Given the following code:
```
import pandas
import numpy
df = pandas.DataFrame(numpy.zeros((4, 1)), columns=['A'])
y = numpy.random.randn(4, 2)
df['A'] = y
```
which results in (e.g.)
```
df
#           A
# 0  0.994449
# 1 -0.280376
# 2 -0.993288
# 3  0.009625
y
# array([[ 0.99444899, -0.80571928],
#        [-0.28037615, -0.47071158],
#        [-0.99328776, -0.15674664],
#        [ 0.00962502,  1.24896221]])
```

> I expect it to throw an exception because of shape mismatch. But pandas silently accepted the assignment: y's first column is assigned to df.
> 
> Is this an intentional design? If yes, what is the rationale behind?
