BUG: Issue with Pandas df.str.split with expand
- [x] I have checked that this issue has not already been reported.

- [x] I have confirmed this bug exists on the latest version of pandas.

- [ ] (optional) I have confirmed this bug exists on the master branch of pandas.

---


#### Code Sample, a copy-pastable example

```python

>>> df=pd.DataFrame({'a':['Kickoff_2'],'b':['bla'],'c':[1],'x':[None],'y':[None],'z':[None]})
>>> df[['x','y','z']] = df['a'].str.split('_',expand=True,n=2)
...
    raise ValueError("Columns must be same length as key")
ValueError: Columns must be same length as key

>>> df_long=pd.DataFrame({'a':['Kickoff_2','Kickoff','Kickoff_pass_jump'],'b':['bla','bla','bla'],'c':[1,2,3],'x':[None,None,None],'y':[None,None,None],'z':[None,None,None]})
>>> df_long[['x','y','z']] = df_long['a'].str.split('_',expand=True,n=2)
>>> df_long
                   a    b  c        x     y     z
0          Kickoff_2  bla  1  Kickoff     2  None
1            Kickoff  bla  2  Kickoff  None  None
2  Kickoff_pass_jump  bla  3  Kickoff  pass  jump

```

#### Problem description

String + split() with expand only works if there is a row in the df that will later contain the desired number of columns. It would be nice if the first example here would get filled up with NaNs.

#### Expected Output
