python的index函数可以获取列表中值的第一个索引.
如果要获取相同值的最后一个索引:
反向取得list后,用list的长度减去反转后出现的第一个索引再减1
这也可以用 .iloc 获取,通过使用位置索引来选择内容
可以使用 .get_indexer 获取多个索引:
警告 :
对于包含一个或多个缺失标签的列表,使用 .loc 或 [] 将不再重新索引,而是使用 .reindex
在以前的版本中,只要索引列表中存在至少一个有效标签,就可以使用 .loc[list-of-labels]
但是现在,只要索引列表中存在缺失的标签将引发 KeyError .推荐的替代方法是使用 .reindex() .
例如
索引列表的标签都存在
先前的版本
但是,现在
索引标签列表中包含不存在的标签,使用 reindex
另外,如果你只想选择有效的键,可以使用下面的方法,同时保留了数据的 dtype
对于 .reindex() ,如果有重复的索引将会引发异常
通常,您可以将所需的标签与当前轴做交集,然后重新索引
但是,如果你的索引结果包含重复标签,还是会引发异常
使用 sample() 方法可以从 Series 或 DataFrame 中随机选择行或列.
该方法默认会对行进行采样,并接受一个特定的行数、列数,或数据子集.
默认情况下, sample 每行最多返回一次,但也可以使用 replace 参数进行替换采样
默认情况下,每一行被选中的概率相等,但是如果你想让每一行有不同的概率,你可以为 sample 函数的 weights 参数设置抽样权值
这些权重可以是一个列表、一个 NumPy 数组或一个 Series ,但它们的长度必须与你要抽样的对象相同.
缺失的值将被视为权重为零,并且不允许使用 inf 值.如果权重之和不等于 1 ,则将所有权重除以权重之和,将其重新归一化.例如
当应用于 DataFrame 时,您可以通过简单地将列名作为字符串传递给 weights 作为采样权重(前提是您要采样的是行而不是列).
sample 还允许用户使用 axis 参数对列进行抽样.
最后,我们还可以使用 random_state 参数为 sample 的随机数生成器设置一个种子,它将接受一个整数(作为种子)或一个 NumPy RandomState 对象
当为该轴设置一个不存在的键时, .loc/[] 操作可以执行放大
在 Series 的情况下,这实际上是一个追加操作
可以通过 .loc 在任一轴上放大 DataFrame
这就像 DataFrame 的 append 操作
由于用 [] 做索引必须处理很多情况(单标签访问、分片、布尔索引等),所以需要一些开销来搞清楚你的意图
如果你只想访问一个标量值,最快的方法是使用 at 和 iat 方法,这两个方法在所有的数据结构上都实现了
与 loc 类似, at 提供了基于标签的标量查找,而 iat 提供了基于整数的查找,与 iloc 类似
同时,你也可以根据这些索引进行设置值
如果索引标签不存在,会放大数据
另一种常见的操作是使用布尔向量来过滤数据.运算符包括:
|(or) 、 (and) 、 ~ (not)
使用一个布尔向量来索引一个 Series ,其工作原理和 NumPy ndarray 一样.
您可以使用一个与 DataFrame 的索引长度相同的布尔向量从 DataFrame 中选择行
列表推导式和 Series 的 map 函数可用于产生更复杂的标准
我们可以使用布尔向量结合其他索引表达式,在多个轴上索引
iloc 支持两种布尔索引.如果索引器是一个布尔值 Series ,就会引发异常.
例如,在下面的例子中, df.iloc[s.values, 1] 是正确的.但是 df.iloc[s,1] 会引发 ValueError .
如下:
①.、index函数:用于从列表中找出某个值第一个匹配项的索引位置.
python中index函数怎么用?
Python中index方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find方法一样,只不过如果str不在string中会报一个异常.
index函数一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错.
python实现index()功能:
语法
index()方法语法:
str.index(str, beg=0, end=len(string))
参数
str -- 指定检索的字符串
beg -- 开始索引,默认为0.
end -- 结束索引,默认为字符串的长度.
返回值
如果包含子字符串返回开始的索引值,否则抛出异常.
实例
以下实例展示了index()方法的实例:
#!/usr/bin/python
str1 = "this is string example....wow!!!";
以上实例输出结果如下:
Traceback (most recent call last):
ValueError: substring not found
shell returned 1
①.、方法一: 利用数组自身的特性 a.index(target), 其中a是目标list,target是需要的下标对应的值.代码如下:
代码如下:
运行结果:
扩展资料:
①.、索引:
负数索引与正数索引之间存在一个规律: 当正数索引+负数索引的绝对值=元素的个数,它们所指的是同一个元素.
分片用于截取某个范围内的元素,通过:来指定起始区间(左闭右开区间,包含左侧索引值对应的元素,但不包含右测索引值对应的元素).
分片包括起始索引对应的元素,但不包括终止索引对应的元素,索引为正值时可以发生越界但只会取到最后一个元素.如果索引值为负值,则表示从最右边元素开始,此时需避免索引越界.