python - 如何从两个 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
解决方案
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