にはindexが表示されていません。
開発環境が理由かと思って質問しましたが返事がないので、これは実行結果ではなく、indexを省略して手で打ち込んだものだと仮定して回答します。
df['new_a'] =df['a']のような処理ではindexが重要な問題になります。
python
1>>> print(df1)
2 a b
30 1 ああ
41 3 いい
5>>> print(df2)
6 a b
71 2 かか
83 4 きき
9>>> df1['new_a'] =df1['a']
10>>> df1['new_b'] =df2['b']
11>>> print(df1)
12 a b new_a new_b
130 1 ああ 1 NaN
141 3 いい 3 かか
以下のように、df1とdf2は違うindexをもっているので上に書いた結果になります。
python
1>>> print(df1.index)
2Int64Index([0, 1], dtype='int64')
3>>> print(df2.index)
4Int64Index([1, 3], dtype='int64')
valuesを使うと、indexがなくなるので、位置だけで決まるようになります。
python
1>>> print(df1)
2 a b
30 1 ああ
41 3 いい
5>>> print(df2)
6 a b
71 2 かか
83 4 きき
9>>> df1['new_a'] =df1['a']
10>>> df1['new_b'] =df2['b'].values
11>>> print(df1)
12 a b new_a new_b
130 1 ああ 1 かか
141 3 いい 3 きき