Панды доступ к первой записи серии матрицы - PullRequest
0 голосов
/ 06 мая 2019

У меня есть pandas 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])))

, но это приводит к серии серий, и я не знаю, как продолжить.

Любые предложения о том, как ядолжен улучшить мои коды?Заранее спасибо!

1 Ответ

1 голос
/ 06 мая 2019

Я считаю, что вам нужно:

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

Или:

[x[0][0][0] for x in df['beta_t']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...