Python “转换一只熊猫”;“成对阵列系列”;至“a”;“两列数据帧”;?

Python “转换一只熊猫”;“成对阵列系列”;至“a”;“两列数据帧”;?,python,pandas,Python,Pandas,我有一个由成对数组组成的熊猫系列: In [177]: pair_arrays Out[177]: 15192 [[1, 9], [2, 14], [4, 1], [5, 36], [6, 8], [7,... 16012 [[0, 107], [1, 42], [2, 22], [3, 59], [4, 117]... 17523 [[0, 44], [1, 36], [2, 43], [3, 28], [4, 52], ... ... 我想将其重塑为具有两列“x”

我有一个由成对数组组成的熊猫系列:

In [177]: pair_arrays
Out[177]: 
15192     [[1, 9], [2, 14], [4, 1], [5, 36], [6, 8], [7,...
16012     [[0, 107], [1, 42], [2, 22], [3, 59], [4, 117]...
17523     [[0, 44], [1, 36], [2, 43], [3, 28], [4, 52], ...
...
我想将其重塑为具有两列“x”和“y”的数据框,其形状类似于:

In [179]: pd.DataFrame([{'x':1, 'y':42}, {'x':4, 'y':12}], columns=['x', 'y'])
Out[179]: 
   x   y
0  1  42
1  4  12
...

如何做到这一点?

我可以通过Python进行如下操作:

pd.DataFrame(
  [item for sublist in pair_arrays.tolist() for item in sublist], 
  columns=['x', 'y']
)

这适用于我的用例,但可能不适合像这样通过Python进行操作。

假设系列中的每个元素都是一个对数组,并且每对都是一个序列,这应该可以工作:

pair_df = pd.DataFrame(np.vstack(pair_arrays.values), columns=['x','y'])
关键是熊猫不知道如何使用对象数组。所以我在这里要做的是将它转换成一个由对象数组组成的numpy数组。然后我叠加对象数组,得到一个2D整数数组,然后将其转换回数据帧


从技术上讲,您目前不需要使用
values
方法来显式转换为numpy数组,但我认为从长远来看,这更清晰、更安全。

您是否尝试过我们可以帮助调试的方法?