我想从一个数据框架创建一个3列的并集。这3列是object类型的
<表类>
B
C
tbody><<tr> 猫狗猴子 狗马 猫 表类>
您可能需要的是set
,您可以使用:
set(df.to_numpy().ravel()) # {'Cat', 'Dog', 'Horse', 'Monkey'}
Python集合支持像union
这样的操作。
为了比较建议的解决方案,下面是在我的机器上使用timeit
的计时,按速度排序:
set(df.to_numpy().flatten()) # 5.78 µs ± 682 ns per loop
set(df.to_numpy().ravel()) # 5.93 µs ± 620 ns per loop
np.unique(df.values.ravel()).tolist() # 14.3 µs ± 1.79 µs per loop
df.stack().unique().tolist() # 517 µs ± 124 µs per loop
或者您可以这样做:np.unique(df.values.ravel()).tolist()