Подсчет элементов в списке, когда каждое наблюдение представляет собой строку, которая выглядит как список - PullRequest
0 голосов
/ 24 апреля 2018

Мне нужно какое-то руководство и / или помощь!У меня есть датафрейм, который имеет уникальное наблюдение для каждой строки.Существует переменная, которая имеет ВИД наблюдения вложенных списков в качестве наблюдения, но фактически является строкой.

Например:

 Var1
 [X, Y, [Z, A, B]]
 [A, [R,S,T]]
 [B]

Мне нужно добавить переменную / серию, в которой есть количество элементов в этом списке.Так, например:

 Var2:
 5
 4
 1

Значения являются строками, и мне нужно количество, а не сумма.То, что списки являются вложенными, не имеет значения, каждый элемент, разделенный запятой, считается за 1.

Большое спасибо!Я не знаю, ищу ли я неправильные термины, но каждый раз, когда я делаю оператор длины (использую ли я для циклов или нет), я получаю длину символов, а не длину элементов.

ETA: понял, что это на самом деле строка для наблюдений.

1 Ответ

0 голосов
/ 24 апреля 2018

Вы можете использовать np.hstack

list(map(lambda x :len(np.hstack(x)),df.Var1))
Out[10]: [5, 4, 1]


df['Var2']=list(map(lambda x :len(np.hstack(x)),df.Var1))
df
Out[12]: 
                Var1  Var2
0  [X, Y, [Z, A, B]]     5
1     [A, [R, S, T]]     4
2                [B]     1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...