如何选出dataframe中一列所有相同值的序号
时间: 2024-02-04 09:01:59 浏览: 111
找出同列中的相同数据
可以使用 `pandas` 库中的 `groupby()` 函数和 `apply()` 方法实现。具体步骤如下:
1. 使用 `groupby()` 函数将数据按照列名进行分组,得到一个 `GroupBy` 对象。
2. 使用 `apply()` 方法将分组后的数据进行处理,将每个分组中相同值的序号以列表的形式返回。
下面是示例代码:
```python
import pandas as pd
# 创建示例数据
df = pd.DataFrame({'A': [1, 2, 3, 3, 4, 4, 4], 'B': [5, 6, 7, 8, 9, 9, 10]})
# 使用 groupby() 函数按照 'A' 列进行分组,并使用 apply() 方法获取每个分组中相同值的序号
result = df.groupby('A')['B'].apply(lambda x: list(x.index)).reset_index()
# 输出结果
print(result)
```
输出结果如下:
```
A B
0 1 [0]
1 2 [1]
2 3 [2, 3]
3 4 [4, 5, 6]
```
结果中的第一列是分组的列名,第二列是相同值的序号组成的列表。例如,第一行中的 `[0]` 表示在 `A` 列中值为 1 的行的序号为 0。
阅读全文