Как сделать столбец со списками из столбцов элементов списка в кадре данных pandas? - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть пандасный фрейм данных, например

  test = pd.DataFrame([[['P','N'], ['Z', 'P']],[['N','N'], ['Z', 'P']]],  
  columns=['c1', 'c2'])

Я хочу добавить еще один столбец c3, чтобы проверить, чьи элементы

['PZ', 'NP']
['NZ', 'NP']

Как я могу это сделать?

1 Ответ

0 голосов
/ 14 ноября 2018

Использование assign:

df = test.assign(c3 = [[x[0]+y[0], x[1]+y[1]] for x,y in test.values.tolist()])

Или:

df = test.assign(c3 = list(map(list,zip(test.c1.str[0]+test.c2.str[0],test.c1.str[1]+test.c2.str[1]))))

print(df)
       c1      c2        c3
0  [P, N]  [Z, P]  [PZ, NP]
1  [N, N]  [Z, P]  [NZ, NP]

print([[x[0]+y[0], x[1]+y[1]] for x,y in test.values.tolist()])
[['PZ', 'NP'], ['NZ', 'NP']]

print(list(map(list,zip(test.c1.str[0]+test.c2.str[0],test.c1.str[1]+test.c2.str[1]))))
[['PZ', 'NP'], ['NZ', 'NP']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...