返回bool值中为true的索引
时间: 2024-03-03 09:51:13 浏览: 150
可以使用 numpy 或 pandas 库提供的布尔索引来获取返回值为 True 的索引。
如果你有一个 bool 类型的列表或数组,可以使用 numpy 库的 `nonzero()` 方法获取返回值为 True 的索引。例如:
``` python
import numpy as np
arr = np.array([True, False, True, False, True])
indexes = np.nonzero(arr)[0]
print(indexes) # 输出结果为 [0 2 4]
```
上述代码中,使用 `np.nonzero(arr)` 获取返回值为 True 的索引,然后使用 `[0]` 获取索引数组的第一个元素,结果是一个数组,包含了返回值为 True 的索引。
如果你有一个 pandas 的 Series 或 DataFrame,可以使用布尔索引来获取返回值为 True 的索引。例如:
``` python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
bool_series = df['A'] > 1
indexes = df.index[bool_series]
print(indexes) # 输出结果为 Int64Index([1, 2], dtype='int64')
```
上述代码中,使用布尔索引 `df['A'] > 1` 获取返回值为 True 的行,然后使用 `df.index` 获取所有行的索引,最后使用 `indexes = df.index[bool_series]` 获取返回值为 True 的索引。注意,返回的索引是一个 Pandas 的 `Int64Index` 类型。
阅读全文