【发布时间】:2017-09-07 23:17:14
【问题描述】:
我想将 2d numpy 数组切片为我选择的索引。比如我有这个one.csv
111,222,333,444
1,2,3,4
我想把它切成例如
XX = array([[ 111., 222., 333.],
[ 1., 2., 3.]])
YY = array([ 444., 4.])
假设我不知道有多少索引,所以对于XX 和YY 我知道了
import numpy
data = numpy.loadtxt('one.csv', delimiter=",")
XX = data[:,0:len(data)]
YY = data[:,len(data)]
XX 和 YY 的结果如下
# XX
array([[ 111., 222.],
[ 1., 2.]])
# YY
array([ 333., 3.])
我该如何解决这个问题?除了使用len(data),还有其他选择吗?
感谢您的帮助。
【问题讨论】:
-
但这里
len(data)是行数。 -
你可以从
.shape属性中获取列数:data.shape[1]会给你读取的列数 -
@WillemVanOnsem 是的。我刚刚意识到
len(data)是行数。谢谢您的回答。 @EdChum 谢谢你的回答。这对我来说是一个很好的参考。但是对于这种特定情况,我想输入文件,从第一列到倒数第二列进行操作,而不必查找读取的列数。再次感谢你。 =)
标签: python arrays csv numpy numpy-ndarray