pandas数据变换
时间: 2023-07-12 13:10:41 浏览: 94
在 Pandas 中,数据变换是指对数据进行一系列操作,以得到需要的结果。常用的 Pandas 数据变换包括:
1. 数据筛选
数据筛选是指根据条件进行数据的过滤,只保留符合条件的数据。Pandas 中可以使用布尔索引和 query() 函数进行数据筛选。
例如,对于一个包含学生信息的 DataFrame,可以使用以下代码筛选出年龄在 18 到 22 岁之间的数据:
```python
import pandas as pd
# 创建 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'age': [25, 20, 30, 35, 22],
'score': [98, 85, 92, 75, 88]}
df = pd.DataFrame(data)
# 数据筛选
df_filtered = df[(df['age'] >= 18) & (df['age'] <= 22)]
```
2. 数据排序
数据排序是指根据指定的列对数据进行排序。Pandas 中可以使用 sort_values() 函数进行数据排序。
例如,对于一个包含学生信息的 DataFrame,可以使用以下代码对年龄进行升序排序:
```python
import pandas as pd
# 创建 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'age': [25, 20, 30, 35, 22],
'score': [98, 85, 92, 75, 88]}
df = pd.DataFrame(data)
# 数据排序
df_sorted = df.sort_values(by='age')
```
3. 数据聚合
数据聚合是指根据指定的列对数据进行分组,并对每组数据进行统计分析。Pandas 中可以使用 groupby() 函数进行数据聚合。
例如,对于一个包含学生信息的 DataFrame,可以使用以下代码对不同年龄段的学生进行平均成绩统计:
```python
import pandas as pd
# 创建 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily', 'Frank'],
'age': [25, 20, 30, 35, 22, 20],
'score': [98, 85, 92, 75, 88, 90]}
df = pd.DataFrame(data)
# 数据聚合
df_grouped = df.groupby('age')['score'].mean()
```
在以上代码中,首先使用 groupby() 函数按年龄进行分组,然后对每组数据的成绩进行平均值计算。
4. 数据透视表
数据透视表是指将数据按照指定的行和列进行汇总,并对每个汇总单元格进行统计分析。Pandas 中可以使用 pivot_table() 函数进行数据透视表的创建。
例如,对于一个包含学生信息的 DataFrame,可以使用以下代码创建一个按照年龄和成绩进行汇总的数据透视表:
```python
import pandas as pd
# 创建 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily', 'Frank'],
'age': [25, 20, 30, 35, 22, 20],
'score': [98, 85, 92, 75, 88, 90]}
df = pd.DataFrame(data)
# 创建数据透视表
df_pivot = pd.pivot_table(df, values='score', index='age', columns='name', aggfunc='mean')
```
在以上代码中,使用 pivot_table() 函数创建一个以年龄为行,姓名为列,成绩为值的数据透视表,其中 aggfunc 参数指定对每个汇总单元格进行平均值计算。
阅读全文