如何将此数据框拆分为列

How can I split this dataframe in columns

我有一个包含 N 列的 Pandas 数据框,每列包含 3 个值的列表(xyz):

我想获得一个包含 3N 列的新数据框,每列包含每一列的每个坐标值(例如,IndexDistalJoint_xIndexDistalJoint_yIndexDistalJoint_z,以及以此类推剩余的原始列)。

有什么想法吗?提前致谢。

考虑这个 DataFrame:

              A             B             C
0     [1, 2, 3]     [4, 5, 6]     [7, 8, 9]
1  [10, 11, 12]  [13, 14, 15]  [16, 17, 18]

然后:

data = []
for c in df.columns:
    x = df[c].apply(pd.Series)
    x.columns = [f"{c}_{ch}" for ch in "xyz"]
    data.append(x)

print(pd.concat(data, axis=1))

打印:

   A_x  A_y  A_z  B_x  B_y  B_z  C_x  C_y  C_z
0    1    2    3    4    5    6    7    8    9
1   10   11   12   13   14   15   16   17   18