这里对python比较陌生。在
所以我有一个CSV文件,内容如下:dsa dds fsdf dasdsa
1 1 32.2 9 4
1 2 53.2 8 2
1 3 44.2 0 1
1 4 12.3 3 2
1 5 15.6 4 3
2 1 12.3 3 2
2 2 91.3 4 11
2 3 32.3 5 33
2 4 44.2 3 2
2 5 55.2 4 1
3 1 60.2 4 2
3 2 80.2 1 15
3 3 10.2 4 1
3 4 99.2 8 3
3 5 13.1 10 2
4 1 32.3 19 2
4 2 10.3 12 3
4 3 52.3 22 4
. . . . .
. . . . .
我希望我的输出是这样的:
^{pr2}$
如您所见,我只使用csv文件的前3列,并跳过了第一行(垃圾数据)。在
我想用numpy来实现这一点,所以我认为这段代码可以做到:from scipy.sparse import coo_matrix
import numpy as np
l, c, v = np.load('test.csv', skiprows=1, delimiter=',').T[:3,:]
m = coo_matrix((v, (l-1, c-1)), shape=(l.max(), c.max()))
print(m.toarray())
这是可行的,但是CSV文件中的前2列从输出中排除。结果是:[32.2 53.2 44.2 12.3
12.3 91.3 32.3 44.2
60.2 80.2 10.2 99.2
32.3 10.3 52.3 .]
对如何生成我需要的矩阵(输出)有什么想法?
CSV文件很大(大约有10k行和列),但只需要使用前3列。在
多谢了!在