首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是x[:,0]?

什么是x[:,0]?
EN

Stack Overflow用户
提问于 2021-12-27 12:33:09
回答 2查看 213关注 0票数 0

我不明白它是干什么的,只看到它被一个滑雪板所用。试着做一些这样的测试

代码语言:javascript
运行
复制
x = [(1, 2), (2, 3), (3, 4)]
y = [[1, 2], [2, 3], [3, 4]]

print(y[:, 0])

我得到了这个错误(包括x和y):

代码语言:javascript
运行
复制
TypeError: list indices must be integers or slices, not tuple

我的假设是,逗号之前的:告诉Python接受所有条目,而0指定哪个‘子集’。

如何正确地使用这个表达式,以及它是做什么的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-27 12:45:03

正如解释过的这里,这是索引数组的一种特定于numpy的符号,而不是普通的python。这就是为什么它不适用于您的代码。在您的(初始)情况下,sklearn对象可能包装了一个numpy数组,该数组支持numpy切片语法。

就您的具体情况而言,它的工作方式如下:

代码语言:javascript
运行
复制
import numpy as np

y = np.array([[1, 2], [2, 3], [3, 4]])
print(y[:, 0])

# prints: [1 2 3]

这将产生沿第一轴的所有索引(即使用全列向量),但在第二轴只使用索引0(即只使用第一列向量)。

票数 2
EN

Stack Overflow用户

发布于 2021-12-27 12:40:00

您所表达的内容将适用于更复杂的对象,如numpy (及其著名的切片)。在vanilla的例子中,这是不可能的。要访问特定的数字(在您的例子中),您必须执行x[2][1] (在您的示例中生成4 )。

为了实现您想要的(每个元组的第一项),您可以执行[item[0] for item in y]。这是列表理解:遍历y,在每个项的第一个索引处获取对象,并从中列出一个列表。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70495550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档