从Pandas系列中创建一个集合

2024-05-14 04:13:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个从卡格尔的旧金山薪水中提取出来的数据框: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?


Tags: 数据httpscom列表wwwstatus方式记录
2条回答

如果只需要获取唯一值的列表,则可以使用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,只需从中选择series(some_data_frame['<col_name>'])。

对于大大小的series和重复的set(some_series)执行时间将随series大小呈指数变化。

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

一个显示x16执行时间的简单示例

相关问题 更多 >