要获取列中的唯一值,您可以使用unique
Series 方法,该方法将返回唯一值的 numpy 数组(而且速度很快!)。
df.long.unique()
# returns numpy array of unique values
然后你可以使用numpy.append
:
np.append(df.long.unique(), df.short.unique())
注意:这只是将两个唯一结果附加在一起,因此本身不是唯一的!
.
这是一个(微不足道的)示例:
import pandas as pd
import numpy as np
df = pd.DataFrame([[1, 2], [1, 4]], columns=['long','short'])
In [4]: df
Out[4]:
long short
0 1 2
1 1 4
In [5]: df.long.unique()
Out[5]: array([1])
In [6]: df.short.unique()
Out[6]: array([2, 4])
然后附加生成的两个数组:
In [7]: np.append(df.long.unique(), df.short.unique())
Out[7]: array([1, 2, 4])
使用@Zalazny7 的set
速度明显更快(因为它只在数组上运行一次),而且有点令人不安的是,它甚至比(对结果数组进行排序!)还要快。np.unique