2017-01-31 5 views
0

У меня есть следующий набор данных:Turn панды dataframe в NumPy значения

df = pd.DataFrame([['Tree', 1], ['Tree, Hug']], columns=('Tag', 'ticketID')) 

То, что я хотел бы сделать теперь преобразовать категорию тегов в Numpy массив как этот

df = df[['Tag']] 
tags = df.values 

Это, однако, дает мне

[['Tree'] 
['Tree, Hug']] 

Пока я ищу

[['Tree'] 
['Tree', 'Hug']] 

Любые мысли о том, как я могу заставить это работать?

ответ

1
>>> import pandas as pd 
>>> df = pd.DataFrame([['Tree', 1], ['Tree, Hug']], columns=('Tag', 'ticketID')) 
>>> [ x.split(', ') for row in df[['Tag']].values for x in row ] 
[['Tree'], ['Tree', 'Hug']] 

Будьте осторожны с вызовом split. Необходимо разделить ', ' здесь, так как у исходной строки есть пробел.

0

Чтобы держать все в панд вы можете итерацию по Tag колонке с apply и конвертировать с tolist

df.Tag.apply(lambda x: [s.strip() for s in x.split(',')]).tolist() 

[['Tree'], ['Tree', 'Hug']] 
Смежные вопросы