【发布时间】:2018-04-12 21:29:09
【问题描述】:
我有一个 .csv 包含 3 列。 PersonX、PersonY 和 PersonZ。有 7000 行名称和不同的组合。我的目标是看看哪对和三人组是最高的匹配。我无法在 excel 中找到可以实现此目标的公式。我确信 python 将能够与 itertools 组合,但我还没有那么先进。这些名字可以按任何顺序排列,只是看看这 2 或 3 个人在同一行中有多少次。任何建议都会有很大帮助,谢谢!
小数据示例。
PersonX PersonY PersonZ
Aaron Ekblad Keith Yandle Vincent Trocheck
Aaron Ekblad Denis Malgin Mike Matheson
Aaron Ekblad Denis Malgin Mike Matheson
Aaron Ekblad Jonathan Huberdeau Keith Yandle
Aaron Ekblad Jonathan Huberdeau Keith Yandle
Aaron Ekblad Jamie McGinn Keith Yandle
Aaron Ekblad Aleksander Barkov Jonathan Huberdeau
Aaron Ekblad
Adam Erne Andrej Sustr Vladislav Namestnikov
Adam Erne Anthony Cirelli
Adam Erne
Adam Henrique Rickard Rakell Ryan Getzlaf
Adam Henrique Brandon Montour Ryan Getzlaf
Adam Henrique Corey Perry Brandon Montour
Adam Henrique Corey Perry Brandon Montour
Adam Henrique Brian Gibbons Andy Greene
Adam Henrique Ryan Getzlaf
Adam Henrique Ondrej Kase
Adam Henrique Josh Manson
Adam Henrique Brian Gibbons
Adam Henrique
Adam Henrique
启动脚本
import csv
from itertools import combinations, product
#Header = PersonX PersonY PersonZ
#Import Game
with open('1718_All_Goals_&_Assists.csv', newline='') as f:
next(f)
skaters = '\n'.join(' '.join(row) for row in csv.reader(f))
print(skaters)
【问题讨论】:
-
你的数据集的结果是什么(为什么)?另外,您的数据集中的分隔符是什么?它不能是空格,因为名称包含空格并且您的示例不包含制表符。
-
一对或一组已经在一起的次数。比我可以按最大排序并查看最频繁的对或组
标签: excel python-3.x itertools