python numpy基础问题

我想知道data[names=='bob']中,为什么names的每个元素可以和data的每一行的值,一一对应,中间发生了什么?... 我想知道 data[names == 'bob'] 中,为什么names的每个元素可以和data的每一行的值,一一对应,中间发生了什么? 展开
 我来答
百度网友b9514c9
2018-07-30 · 超过10用户采纳过TA的回答
知道答主
回答量:19
采纳率:80%
帮助的人:5.3万
展开全部

你好,这个知识点涉及到 numpy的布尔型索引。首先你要明白一维数组的索引是一个标量,而二维数据的索引是一个一维数组。举例如下:

arr= [0,1,2,3,4,5] #这是个一维数组
print arr[2]  #输出第二索引对应的元素,你应该知道:索引的起始位置是0
输出结果 为 2  #2是标量
---------------------------------
data = random.randn(7,4) #这里的data是一个7行4列的二维数据,此时的索引元素是一维数组
data[0] 输出的结果为data的第一行数据

names是一个一维的名字数组
names == 'bob' #表示一个布尔数组,对应的bob位置是true,否则为false

假设names的每个名字对应data的一行,
data[names=='bob'] #表示的含义为取data二维数据对应的names==bob元素的索引,即bob在names的索引是0和3,即对应的data的索引是0和3,也就是第一和第4行

《利用python进行数据分析》这本书中有所介绍

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式