diff --git a/pandas/core/reshape/reshape.py b/pandas/core/reshape/reshape.py index 003353856eac8..6a0286b1c40ef 100644 --- a/pandas/core/reshape/reshape.py +++ b/pandas/core/reshape/reshape.py @@ -1039,7 +1039,8 @@ def get_empty_frame(data) -> DataFrame: return out else: - dummy_mat = np.eye(number_of_cols, dtype=dtype).take(codes, axis=0) + # take on axis=1 + transpose to ensure ndarray layout is column-major + dummy_mat = np.eye(number_of_cols, dtype=dtype).take(codes, axis=1).T if not dummy_na: # reset NaN GH4446