如何在Python中包含numpy数组的前几个元素

0 投票
1 回答
5273 浏览
提问于 2025-04-16 15:44

我有一个数组d,我想要一个数组d2。这个数组的每一行里面的元素数量不一样。

 d=   [ ['q', 'u', 's', 'a', 'p', 'e', 'a']
     ['500', 'G', 'G', 'C', 'C', 'P', '04/12/2011', '' ]
     ['500', 'G', 'G', 'F', 'C', 'P', '04/12/2011', ''] 
     ['5', 'ZUMZ', 'ZUMZ', 'C', 'C', 'B', '04/12/2011', '']
     ['2', 'ZUMZ', 'ZUMZ', 'F', 'C', 'B', '04/12/2011', '']
     ['7', 'ZUMZ', 'ZUMZ', 'M', 'C', 'B', '04/12/2011', '']]

我只想要前五个元素。

 d2=   [ ['q', 'u', 's', 'a', 'p']
         ['500', 'G', 'G', 'C', 'C']
         ['500', 'G', 'G', 'F', 'C'] 
         ['5', 'ZUMZ', 'ZUMZ', 'C', 'C']
         ['2', 'ZUMZ', 'ZUMZ', 'F', 'C']
         ['7', 'ZUMZ', 'ZUMZ', 'M', 'C']]


f = urllib.urlopen(url)
f = csv.reader(f)
d= np.asarray(list(f), dtype= 'object')
print d
m=  d[:,:]                
print m   

我试过上面的写法,m = d[:,0:5]

1 个回答

1

这样写怎么样:

m = np.array([x[:5] for x in d], dtype=object)

不过如果它们都是字符串的话,应该用字符串类型来代替。

撰写回答