2016-09-17 6 views
3

У меня есть dataframe, извлеченный из зарплаты Kaggle San Fransico: https://www.kaggle.com/kaggle/sf-salaries и я хочу создать набор значений столбца, например «Статус».Создать набор из серии в pandas

Это то, что я пробовал, но он приводит список всех записей вместо набора (sf - это то, как я называю фрейм данных).

a=set(sf['Status']) 
print a 

Согласно этой странице, это должно работать. How to construct a set out of list items in python?

+0

Почему вы используете 'a' список? – tacaswell

+0

Возможно, я неправильно использовал термин, я говорю, что он дает мне все значения из столбца, не заботясь, если это чистые nans, например –

ответ

15

Если вам нужен только список уникальных значений, вы можете просто использовать метод unique. Если вы хотите иметь набор Python, а затем сделать set(some_series)

In [1]: s = pd.Series([1, 2, 3, 1, 1, 4]) 

In [2]: s.unique() 
Out[2]: array([1, 2, 3, 4]) 

In [3]: set(s) 
Out[3]: {1, 2, 3, 4} 

Однако, если у вас есть DataFrame, просто выберите серию из него (some_data_frame['<col_name>']).