熊猫访问一系列矩阵的第一个条目



我有一个看起来像这样的熊猫DF:

    beta
0   matrix([[1], [2], [3]])
1   matrix([[2], [3], [4]])
2   matrix([[0], [0], [0]])
:
999 matrix([[2], [1], [3]])

我想访问df['beta']的第一个条目,有想法的列表或NP数组,看起来像: [1, 2, 0, ..., 2]

我到目前为止尝试过的是:

将系列转换为列表

b_t = list(df['beta_t'].apply(lambda x: x.flatten().tolist()[0]))
b_t = [row[0] for row in b_t]

这有效,但是在大型数据集中需要一段时间。

我也尝试了:

b_t = list(df['beta_t'].apply(lambda x: np.array(x.flatten()[0])))

,但这导致了一系列系列,我不知道该如何从这里继续。

关于如何改进代码的任何建议?预先感谢!

我相信您需要:

df['beta_t'].apply(lambda x: x[0][0][0])

或:

[x[0][0][0] for x in df['beta_t']]

相关内容

最新更新