Python 从 .csv 文件聚类作为输入

Python clustering from .csv file as input

我正在尝试找到一种类似的方法来使用 Python 执行聚类,就像我使用 Weka 一样。

我试过 scipy,但是它得到一个数组作为输入。

我有一个 .csv 文件,包含

objectId, attribute1, attribute2, .., attributeN
e.g. '1234', 0, 1, 0,1,1,1, ..., 0

Attribute1,2,..,N 获取值 0 和 1。

有没有办法加载上述 .csv 文件并使用 python 库执行聚类并获取每个 objectId 所属的聚类?

我的 .csv 文件包含 300.000 条 ojectId 记录。

我已经将我的 .csv 文件转换为 weka 的 .arff 格式,但是执行聚类最多需要 6 个小时,所以我正在寻找一种更快的方法来完成它,并希望 python 库会更快。

提前致谢。

我不知道这是否是您想要的,但是:

阅读 .csv:

f = open('yourcsv.csv', mode='r')

content = f.readlines()

现在您可以创建一个列表来添加所有信息

cluster = []

for line in content:
  list = line.decode('utf-8').strip().split(',')
  cluster[list[0]] = list[1 : len(list) - 1]

// 现在您可以像这样访问所有信息

objectId = 'someIdentifier'

info = cluster[objectId]