首页 > 解决方案 > 将行值映射到同一 numpy 数组中的其他值

问题描述

如果我有一个包含以下对象的 numpy 数组:

array(['Ana', 'Charlie', 'Andrew'], dtype=object)

我想将每个对象映射到数组中的所有对象,以便获得以下输出:

array(['Ana', 'Ana'],['Ana','Charlie'],['Ana', 'Andrew'], 
['Charlie','ana'], ['Charlie','Charlie'],['Charlie','Andrew'], ['Andrew','ana'],['Andrew', 'Charlie'], ['Andrew','Andrew'], dtype=object).

如何使用 numpy 将每个对象映射到同一数组中的所有对象?

非常感谢。

标签: pythonarraysnumpy

解决方案


Python 列表通常更适合处理字符串。看起来你想要笛卡尔积:

from itertools import product
l = ['Ana', 'Charlie', 'Andrew']

list(map(list, product(l,l)))

[['Ana', 'Ana'],
 ['Ana', 'Charlie'],
 ['Ana', 'Andrew'],
 ['Charlie', 'Ana'],
 ['Charlie', 'Charlie'],
 ['Charlie', 'Andrew'],
 ['Andrew', 'Ana'],
 ['Andrew', 'Charlie'],
 ['Andrew', 'Andrew']]

推荐阅读