python numpy基础问题
我想知道data[names=='bob']中,为什么names的每个元素可以和data的每一行的值,一一对应,中间发生了什么?...
我想知道 data[names == 'bob'] 中,为什么names的每个元素可以和data的每一行的值,一一对应,中间发生了什么?
展开
1个回答
展开全部
你好,这个知识点涉及到 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进行数据分析》这本书中有所介绍
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询