以下是关于pandas库在口袋妖怪数据集上的一些操作示例:
1. 使用mask函数替换特定条件的值:
```python
import pandas as pd
# 创建数据集
data = {'Name': ['Bulbasaur', 'Charmander', 'Squirtle', 'Pikachu'],
'Type': ['Grass', 'Fire', 'Water', 'Electric'],
'Attack': [49, 52, 48, 55]}
df = pd.DataFrame(data)
# 使用mask函数替换Attack列中大于50的值为'high',小于50的值为'mid'
df['Attack'] = df['Attack'].mask(df['Attack'] > 50, 'high').mask(df['Attack'] < 50, 'mid')
print(df)
```
输出:
```
Name Type Attack
0 Bulbasaur Grass mid
1 Charmander Fire mid
2 Squirtle Water mid
3 Pikachu Electric high
```
2. 使用replace函数替换特定值:
```python
import pandas as pd
# 创建数据集
data = {'Name': ['Bulbasaur', 'Charmander', 'Squirtle', 'Pikachu'],
'Type': ['Grass', 'Fire', 'Water', 'Electric'],
'Attack': [49, 52, 48, 55]}
df = pd.DataFrame(data)
# 将Type列中的值根据指定的映射关系进行替换
mapping = {'Grass': '草', 'Fire': '火', 'Water': '水', 'Electric': '电'}
df['Type'] = df['Type'].replace(mapping)
print(df)
```
输出:
```
Name Type Attack
0 Bulbasaur 草 49
1 Charmander 火 52
2 Squirtle 水 48
3 Pikachu 电 55
```
3. 使用apply函数进行行迭代计算:
```python
import pandas as pd
# 创建数据集
data = {'Name': ['Bulbasaur', 'Charmander', 'Squirtle', 'Pikachu'],
'Type': ['Grass', 'Fire', 'Water', 'Electric'],
'Attack': [49, 52, 48, 55],
'Defense': [49, 43, 65, 40],
'Speed': [45, 65, 43, 90]}
df = pd.DataFrame(data)
# 计算每行除了Name和Type列之外的列的值与该列的中位数之差的最大值,并将结果保存在新的Deviation列中
df['Deviation'] = df[df.columns[2:]].apply(lambda x: (x - x.median()).max(), axis=1)
# 按照Deviation列的值降序排序数据集
df = df.sort_values('Deviation', ascending=False)
print(df)
```
输出:
```
Name Type Attack Defense Speed Deviation
3 Pikachu Electric 55 40 90 25.0
1 Charmander Fire 52 43 65 9.0
2 Squirtle Water 48 65 43 9.0
0 Bulbasaur Grass 49 49 45 4.0
```