python - 将二维的 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 万行,您能帮我找到一种更有效的方法吗?
解决方案
@ALollz 给出了正确的答案。我将从那里延伸。要按预期转换为列表,只需使用list(np.unique(df.values))
推荐阅读
- python - 如何判断环境是 Jupyter Notebook vs Jupyterlab?
- mysql - 在 Laravel 中删除关系时将外键设置为“NULL”
- excel - 当 VBE 未打开时,VBA 子过程停止且没有错误
- python-3.x - 在 mac os 和 pyenv 上安装 tkinter
- c - 使用 sscanf() 将字符串转换为浮点数在 C 中会产生略微不同的结果
- git - 有什么方法可以将所有 git 分支变成存储库的文件夹?
- c# - 我不明白为什么我的 foreach 循环不会加载所有成员
- excel - 循环应用 Excel 工作表下拉选择
- jenkins - 尝试在另一台 Jenkins 服务器上运行备份
- azure - 使用 Azure DevOps 将版本部署到测试环境时 Azure 文件复制失败