从 pandas 中的系列中创建一组
Create a set from a series in pandas
我有一个从 Kaggle 的 San Fransico Salaries 中提取的数据框: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?
如果你只需要获取唯一值列表,你可以只使用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,则只需 select 个系列 (some_data_frame['<col_name>']
)。
对于大尺寸 series
和重复项,set(some_series)
执行时间将随着 series
尺寸呈指数增长。
更好的做法是 set(some_series.unique())
。
显示 x16 执行时间的简单示例。
我有一个从 Kaggle 的 San Fransico Salaries 中提取的数据框: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?
如果你只需要获取唯一值列表,你可以只使用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,则只需 select 个系列 (some_data_frame['<col_name>']
)。
对于大尺寸 series
和重复项,set(some_series)
执行时间将随着 series
尺寸呈指数增长。
更好的做法是 set(some_series.unique())
。