我有 Dataframe 形状如下:
| 乡村|制度|部门|个体|
| - ------|- ------|- ------|- ------|
| 美国|苹果|市场营销|约翰·福勒|
| 联合 Realm |苹果|市场营销|彼得潘|
| 中国|苹果|财务|约翰·福勒|
| 阿根廷|博施|市场营销|梅西|
我想创建一个加权邻接矩阵,如下所示:
| | 美国|联合 Realm |中国|阿根廷|苹果|博施|市场营销|财务|约翰·福勒|彼得潘|梅西|
| - ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|- ------|
| 美国|无|无|无|无|1个|无|1个|无|1个|无|无|
| 联合 Realm |无|无|无|无|1个|无|1个|无|无|1个|无|
| 中国|无|无|无|无|1个|无|无|1个|1个|无|无|
| 阿根廷|无|无|无|无|无|1个|1个|无|无|无|1个|
| 苹果|1个|1个|1个|无|无|无|第二章|1个|第二章|1个|无|
| 博施|无|无|无|1个|无|无|1个|无|无|无|1个|
| 市场营销|1个|1个|无|1个|第二章|1个|无|无|1个|1个|1个|
| 财务|无|无|1个|无|1个|无|无|无|1个|无|无|
| 约翰·福勒|1个|无|1个|无|第二章|无|1个|1个|无|无|无|
| 彼得潘|无|1个|无|无|1个|无|1个|无|无|无|无|
| 梅西|无|无|无|1个|无|1个|1个|无|无|无|无|
我看过here和here的例子,但是我无法将解扩展到2列以上。
2条答案
按热度按时间mf98qq941#
可以将生成器与
itertools.permutations
和pandas.crosstab
一起使用:输出:
工作原理:
[(a,b), (b,a), ...]
的所有组合[(a,b,...),(b,a,...)]
crosstab
,扩展为前两个参数对应图表:
niknxzdl2#
可以使用
sliding_window_view
和networkx
来获得加权邻接矩阵:输出: