首页 > 解决方案 > 将二维的 numpy 数组转换为没有重复项的列表的有效方法

问题描述

我想从熊猫数据框的两个不同列中提取值,将它们放在一个没有重复值的列表中。

我尝试了以下方法:

arr = df[['column1', 'column2']].values
thelist= []
    for ix, iy in np.ndindex(arr.shape):
        if arr[ix, iy] not in thelist:
            thelist.append(edges[ix, iy])

这可行,但需要的时间太长。数据框包含大约 3000 万行。

例子:

  column1 column2 
1   adr1   adr2   
2   adr1   adr2   
3   adr3   adr4   
4   adr4   adr5   

应该生成具有以下值的列表:

[adr1, adr2, adr3, adr4, adr5]

考虑到数据框包含 3000 万行,您能帮我找到一种更有效的方法吗?

标签: pythonpandasnumpy-ndarray

解决方案


@ALollz 给出了正确的答案。我将从那里延伸。要按预期转换为列表,只需使用list(np.unique(df.values))


推荐阅读