请教np.genfromtxt()后[:,0]与[:,1:]的Python语法含义
NumPy数组切片语法:[:, 0] 和[:, 1:] 解释
这是NumPy中用于二维数组切片的语法,先明确:np.genfromtxt读取你的people.csv后,会生成一个二维数组——每行对应csv里的一条数据,每列对应csv里的一列。
1. [:, 0] 的含义
- 第一个位置的
::代表选中所有行 - 第二个位置的
0:代表选中第0列(NumPy的索引从0开始计数)
对应你的people.csv,这个切片会提取所有人名列的数据,最终syms的内容是:
['Marc', 'Martine', 'Max', 'Maxine']
2. [:, 1:] 的含义
- 第一个位置的
::同样选中所有行 - 第二个位置的
1::代表选中从第1列开始到最后一列的所有列(1是起始列索引,冒号表示一直取到末尾)
对应你的people.csv,这个切片会提取除了人名之外的所有列数据,最终X的内容大致是:
[['.2', '-2', 'A'], ['-.2', '0', 'A'], ['.2', '.2', 'A'], ['.2', '.1', 'A']]
补充:切片语法通用规则
对于二维数组arr,arr[行切片, 列切片]是固定格式:
- 行/列位置用
:表示取全部,用a:b表示取从索引a到b(不包含b)的部分,用a:表示从a取到末尾,用:b表示从开头取到b(不包含b)
内容的提问来源于stack exchange,提问作者Duccio Fabbri
相关产品推荐
相关产品推荐

