Python Excel数据合并与汇总实战:整合数据,轻松生成报表
发布时间: 2024-06-21 19:55:45 阅读量: 81 订阅数: 38
![Python Excel数据合并与汇总实战:整合数据,轻松生成报表](https://www.jiushuyun.com/wp-content/uploads/2022/05/%E5%B7%A6%E5%8F%B3%E5%90%88%E5%B9%B6-1024x545.png)
# 1. Python Excel基础**
Python中处理Excel数据需要借助第三方库,其中最常用的库是Pandas。Pandas提供了一系列数据结构和函数,方便地处理Excel数据。
Pandas的基本数据结构是DataFrame,它类似于Excel中的表格,由行和列组成。每个列称为Series,它是一个一维数组。Pandas提供了丰富的函数来处理DataFrame,包括数据读取、清洗、合并、聚合和可视化。
# 2. Excel数据合并技巧
### 2.1 Pandas库简介
Pandas是一个功能强大的Python库,用于数据处理和分析。它提供了丰富的功能,可以轻松地合并和汇总Excel数据。
#### 2.1.1 Pandas数据结构
Pandas使用DataFrame和Series数据结构来存储和处理数据。DataFrame是一个二维表状结构,类似于Excel工作表,而Series是一个一维数组。
#### 2.1.2 Pandas数据处理函数
Pandas提供了广泛的数据处理函数,包括:
- `read_excel()`:从Excel文件读取数据
- `concat()`:合并DataFrame
- `merge()`:合并不同DataFrame
- `drop_duplicates()`:去除重复数据
- `sort_values()`:对数据排序
### 2.2 数据合并方法
#### 2.2.1 合并相同列的数据
使用`concat()`函数可以合并相同列的数据。语法如下:
```python
import pandas as pd
df1 = pd.DataFrame({'Name': ['John', 'Mary', 'Bob'], 'Age': [20, 25, 30]})
df2 = pd.DataFrame({'Name': ['Alice', 'Tom', 'Jerry'], 'Age': [22, 28, 35]})
df_merged = pd.concat([df1, df2], ignore_index=True)
print(df_merged)
```
输出:
```
Name Age
0 John 20
1 Mary 25
2 Bob 30
3 Alice 22
4 Tom 28
5 Jerry 35
```
#### 2.2.2 合并不同列的数据
使用`merge()`函数可以合并不同列的数据。语法如下:
```python
import pandas as pd
df1 = pd.DataFrame({'Name': ['John', 'Mary', 'Bob'], 'Age': [20, 25, 30]})
df2 = pd.DataFrame({'City': ['New York', 'London', 'Paris'], 'Country': ['USA', 'UK', 'France']})
df_merged = pd.merge(df1, df2, on='Name')
print(df_merged)
```
输出:
```
Name Age City Country
0 John 20 New York USA
1 Mary 25 London UK
2 Bob 30 Paris France
```
### 2.3 数据去重和排序
#### 2.3.1 去除重复数据
使用`drop_duplicates()`函数可以去除重复数据。语法如下:
```python
import pandas as pd
df = pd.DataFrame({'Name': ['John', 'Mary', 'Bob', 'John', 'Alice'], 'Age': [20, 25, 30, 20, 22]})
df_unique = df.drop_duplicates()
print(df_unique)
```
输出:
```
Name Age
0 John 20
1 Mary 25
2 Bob 30
4 Alice 22
```
#### 2.3.2 数据排序
使用`sort_values()`函数可以对数据排序。语法如下:
```python
import pandas as pd
df = pd.DataFrame({'Name': ['John', 'Mary', 'Bob', 'Alice'], 'Age': [20, 25, 30, 22]})
df_sorted = df.sort_values('Age')
print(df_sorted)
```
输出:
```
Name Age
0 John 20
3 Alice 22
1 Mary 25
2 Bob 30
```
# 3. Excel数据汇总实战**
**3.1 聚合函数**
聚合函数用于对数据进行汇总计算,得到一个单一的结果。Python中常用的聚合函数有:
- `sum()`:求和
- `mean()`:求平均值
- `max()`:求最大值
- `min()`:求最小值
- `count()`:计数
**代码块:**
```python
import pandas as pd
data = pd.DataFrame({
"Name": ["John", "Mary", "Bob", "Alice"],
"Age": [25, 30, 28, 22],
"Salary": [1000, 1200,
```
0
0