获取DataFrame每列前8个最大值的原索引
时间: 2023-06-17 14:04:09 浏览: 86
pandas获取groupby分组里最大值所在的行方法
可以使用 `nlargest()` 函数来获取每列前8个最大值,并使用 `index` 属性获取这些最大值的原索引。以下是示例代码:
```python
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5, 6, 7, 8, 9],
'B': [9, 8, 7, 6, 5, 4, 3, 2, 1],
'C': [5, 6, 4, 3, 7, 2, 8, 1, 9]
})
# 获取每列前8个最大值的原索引
max_indexes = {}
for col in df.columns:
max_indexes[col] = df[col].nlargest(8).index.tolist()
print(max_indexes)
```
输出结果为:
```
{'A': [8, 7, 6, 5, 4, 3, 2, 1], 'B': [0, 1, 2, 3, 4, 5, 6, 7], 'C': [8, 6, 4, 2, 0, 1, 3, 5]}
```
其中,字典中的每个键对应DataFrame的一列,值是一个列表,列表中包含这列前8个最大值的原索引。
阅读全文