Как разбить набор данных с несколькими метками на несколько строк, где каждая строка имеет одну метку? - PullRequest
0 голосов
/ 05 октября 2018

У меня есть Pandas DataFrame, который выглядит следующим образом?

Feature      Class
text1        [label1, label2]
text2        [label2, label3]

Каков наилучший способ сделать это?

Feature      Class
text1        label1
text1        label2
text2        label2
text2        label3

ПРИМЕЧАНИЕ. В исходной таблице значение класса равносписок Python, содержащий метки.

1 Ответ

0 голосов
/ 05 октября 2018

Вы можете использовать numpy.repeat с Series.str.len и выравнивать списки с помощью chain.from_iterable:

from itertools import chain

df = pd.DataFrame({
    'Feature' : df['Feature'].values.repeat(df['Class'].str.len()),
    'Class' : list(chain.from_iterable(df['Class'].values.tolist()))
})
print (df)
  Feature   Class
0   text1  label1
1   text1  label2
2   text2  label2
3   text2  label3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...