返回series bool值中为true的索引
时间: 2024-03-03 09:51:18 浏览: 312
你可以使用 `pandas.Series` 的 `index` 属性和布尔索引来实现。例如,假设你的 `Series` 名称为 `s`,你可以使用以下代码返回 `s` 中为 `True` 的索引:
```python
s[s == True].index
```
其中,`s == True` 返回一个布尔类型的 `Series`,其中为 `True` 的位置表示 `s` 中对应位置为 `True`。然后,我们使用布尔索引的方式提取 `s` 中为 `True` 的值,最后再通过 `index` 属性返回它们的索引。
相关问题
返回bool值中为true的索引
可以使用 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` 类型。
pandas找到为True的索引
你可以使用pandas中的布尔索引来找到为True的索引,例如:
```python
import pandas as pd
# 创建一个Series
s = pd.Series([10, 20, 30, 40, 50])
# 创建一个布尔索引,找到大于30的值
bool_index = s > 30
# 使用布尔索引来获取为True的索引
true_indexes = s.index[bool_index]
print(true_indexes)
```
输出结果为:
```
Int64Index([3, 4], dtype='int64')
```
这表示索引为3和4的元素的值大于30。
阅读全文