Python 从熊猫系列中创建一组

Python 从熊猫系列中创建一组,python,pandas,dataframe,series,kaggle,Python,Pandas,Dataframe,Series,Kaggle,我从Kaggle的San Fransico薪水中提取了一个数据帧: 我希望创建一组列的值,例如“Status” 这是我尝试过的,但它带来了所有记录的列表,而不是集合(sf是我命名数据帧的方式) 根据这个网页,这应该是可行的。 如果您只需要获取唯一值列表,您可以使用unique方法。 如果您想设置Python,那么请执行set(某些系列) 但是,如果您有数据帧,只需从中选择系列(some_data_frame['''])。对于大尺寸的series和重复的集(some_series)执行时间将随着s

我从Kaggle的San Fransico薪水中提取了一个数据帧: 我希望创建一组列的值,例如“Status”

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

根据这个网页,这应该是可行的。

如果您只需要获取唯一值列表,您可以使用
unique
方法。 如果您想设置Python,那么请执行
set(某些系列)


但是,如果您有数据帧,只需从中选择系列(
some_data_frame[''']
)。

对于大尺寸的
series
和重复的
集(some_series)
执行时间将随着
series
大小呈指数变化

更好的做法是
设置(一些_series.unique())


一个显示x16执行时间的简单示例。为什么您认为
A
是一个列表?也许我使用的术语不正确,我指的是它给出了该列中的所有值,而不关心它是否为纯NaN(实例)。有人能解释为什么执行时间在不使用unique的情况下呈指数变化吗?一些_系列。unique()给出系列中的每个唯一项=基本上是一个集合。从集合创建集合的速度很快,因为您没有重复项-->要处理的项目-->要做的工作-->要做的工作-->快。熊猫大多是C语言,也许set()与.unique()相比没有那么优化?问题是:如果您的系列已经是唯一的-->您在使用.unique()时不丢弃任何东西,那么这种加速是否仍然有效?
a=set(sf['Status'])
print a
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}