从pandas中的系列创建一个集合

时间:2016-09-17 20:46:08

标签: python pandas dataframe series kaggle

我有从Kaggle的San Fransico工资中提取的数据框:https://www.kaggle.com/kaggle/sf-salaries 我希望创建一组列的值,例如'Status'。

这是我尝试过的,但它带来了所有记录的列表而不是集合(sf是我命名数据框的方式)。

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

根据这个网页,这应该有效。 How to construct a set out of list items in python?

2 个答案:

答案 0 :(得分:34)

如果您只需要获取唯一值列表,则可以使用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>'])。

答案 1 :(得分:3)

series大且重复的set(some_series)执行时间将随着series的大小成指数增长。

更好的做法是set(some_series.unique())

显示x16执行时间的简单示例。enter image description here