pandas 自定义索引并按照索引拿去数据
时间: 2023-07-11 09:22:56 浏览: 90
要自定义 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']}
df = pd.DataFrame(data)
# 将 name 列设为索引
df.set_index('name', inplace=True)
print(df)
```
输出结果为:
```
age gender
name
Tom 23 M
Jerry 25 M
Mickey 28 F
Minnie 30 F
```
要按照自定义的索引拿取数据,可以使用 `.loc[]` 方法。例如:
```python
# 按照索引取出数据
print(df.loc['Tom'])
```
输出结果为:
```
age 23
gender M
Name: Tom, dtype: object
```
这样就可以根据自定义索引拿取数据了。
相关问题
pandas 自定义组合索引并按照组合索引拿去数据
要自定义 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[]` 方法。
pandas 新增debt列并自定义索引
以下是在 pandas 中新增一个名为 "debt" 的列并自定义索引的示例代码:
```python
import pandas as pd
# 创建示例数据
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 32, 18, 47],
'income': [50000, 70000, 20000, 90000]}
df = pd.DataFrame(data)
# 新增 "debt" 列
df['debt'] = [1000, 2000, 1500, 500]
# 自定义索引
df.index = ['a', 'b', 'c', 'd']
print(df)
```
输出结果:
```
name age income debt
a Alice 25 50000 1000
b Bob 32 70000 2000
c Charlie 18 20000 1500
d David 47 90000 500
```
阅读全文