计算矩阵中没有空格的行和列的问题

  • 本文关键字:问题 空格 计算 python
  • 更新时间 :
  • 英文 :


我试图在矩阵文件中找到行和列的数量。矩阵在字符之间没有空格,但有单独的行。下面的示例应该返回3行和5列,但事实并非如此。

同样,当我打印矩阵时,每行都有n。我想把它去掉。我试过.split('n'),但没有帮助。我早些时候用逗号分隔的不同数据集运行了这个脚本,我在代码中有line.split(','),并且它会返回正确的行数和列数,以及打印没有n的矩阵,我不确定从line.split()中删除逗号会改变什么。

import sys
import numpy

with open(sys.argv[1], "r") as f:
m = [[char for char in line.split(' ')] for line in f if line.strip('n') ]    

m_size = numpy.shape(m)
print(m)
print("%s, %s" % m_size)

样本数据:

aaaaa
bbbbb
ccccc

输出:

[['aaaaan'], ['bbbbbn'], ['ccccc']]
3, 1, 

IIUC:

with open(sys.argv[1]) as f:
m = np.array([[char for char in line.strip()] for line in f])
>>> m
array([['a', 'a', 'a', 'a', 'a'],
['b', 'b', 'b', 'b', 'b'],
['c', 'c', 'c', 'c', 'c']], dtype='<U1')
>>> m.shape
(3, 5)

最新更新