首页 > 解决方案 > 如何从两个 1D 数组生成 2D 网格并将其转换为数据帧?

问题描述

例如,我有两个数组:

import numpy as np
x = np.array([1,2,3])
y = np.array([10, 11])

如何使用 x 和 y 的每种组合生成 pandas 数据框,如下所示?

x      y
1     10
1     11
2     10
2     11
3     10
3     11

标签: pythonpandasnumpy

解决方案


import pandas as pd
import numpy as np

x = np.array([1,2,3])
y = np.array([10, 11])


pd.DataFrame({'x':np.repeat(x,y.shape[0]),
              'y':np.tile(y,x.shape[0])})

产量:

   x   y
0  1  10
1  1  11
2  2  10
3  2  11
4  3  10
5  3  11

推荐阅读