pandas 自定义组合索引并按照组合索引拿去数据
时间: 2023-07-11 19:22:56 浏览: 79
要自定义 Pandas 的组合索引,可以使用 `set_index()` 方法指定多列作为索引,或者使用 `reset_index()` 方法将多列作为新的默认索引。例如:
```python
import pandas as pd
# 创建一个 DataFrame
data = {'name':['Tom', 'Jerry', 'Mickey', 'Minnie'],
'age':[23, 25, 28, 30],
'gender':['M', 'M', 'F', 'F'],
'city':['Shanghai', 'Beijing', 'Shanghai', 'Beijing']}
df = pd.DataFrame(data)
# 将 name 和 city 列设为索引
df.set_index(['name', 'city'], inplace=True)
print(df)
```
输出结果为:
```
age gender
name city
Tom Shanghai 23 M
Jerry Beijing 25 M
Mickey Shanghai 28 F
Minnie Beijing 30 F
```
要按照自定义的组合索引拿取数据,可以使用 `.loc[]` 方法。例如:
```python
# 按照组合索引取出数据
print(df.loc[('Tom', 'Shanghai')])
```
输出结果为:
```
age 23
gender M
Name: (Tom, Shanghai), dtype: object
```
这样就可以根据自定义的组合索引拿取数据了。注意,组合索引需要用元组的形式传递给 `.loc[]` 方法。
阅读全文