表示3列文本的并集



我想从一个数据框架创建一个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()

最新更新