Python中的数据处理库:Pandas基础与数据清洗
发布时间: 2023-12-19 21:47:42 阅读量: 49 订阅数: 48 ![](https://csdnimg.cn/release/wenkucmsfe/public/img/col_vip.0fdee7e1.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/col_vip.0fdee7e1.png)
# 1. Python中数据处理库Pandas简介
## 1.1 Pandas的背景与作用
Pandas是Python中一个强大的数据处理库,提供了灵活高效的数据结构,使得数据处理变得更加简单和快速。它可以处理各种类型的数据,包括数值型、字符串型、时间序列等。Pandas的主要作用包括数据清洗、数据处理、数据分析和数据可视化等。
## 1.2 Pandas的核心数据结构:Series与DataFrame
Pandas中最重要的两个数据结构是Series和DataFrame。
- Series是一维带标签的数组,可以存储任意类型的数据。它由一组数据和与之相关的索引组成,类似于Excel中的一列数据。
- DataFrame是一个二维的表格型数据结构,可以看作是由多个Series组成的字典。它有行索引和列索引,可以方便地进行行列的选择和操作。
## 1.3 安装与导入Pandas库
在使用Pandas之前,我们需要先安装它。可以使用以下命令在命令行中安装Pandas:
```python
pip install pandas
```
安装完成后,我们可以在Python脚本中导入Pandas库:
```python
import pandas as pd
```
导入Pandas库后,我们就可以开始使用Pandas进行数据处理了。
在接下来的章节中,我们将深入学习Pandas的基础操作、数据清洗、高级功能和优化技巧等内容,帮助读者更好地掌握Pandas的使用。
# 2. Pandas基础操作
在本章中,我们将学习Pandas库的基础操作。Pandas是Python中一种强大的数据处理库,可以帮助我们进行数据的读取、处理、分析和可视化。在这一章中,我们将介绍如何创建和查看DataFrame、进行数据索引和选择、进行数据筛选和过滤以及进行数据统计和描述。
### 2.1 创建与查看DataFrame
在开始之前,我们首先要导入`pandas`库:
```python
import pandas as pd
```
DataFrame是Pandas库中最常用的数据结构之一,它类似于Excel或SQL中的表格,可以存储二维的数据。下面是一些创建DataFrame的常用方法:
- 直接从列表或数组创建DataFrame:
```python
data = {'Name': ['Tom', 'Nick', 'John'],
'Age': [20, 25, 30],
'City': ['New York', 'Paris', 'London']}
df = pd.DataFrame(data)
```
- 通过读取文件创建DataFrame:
```python
df = pd.read_csv('data.csv') # 读取CSV文件
df = pd.read_excel('data.xlsx') # 读取Excel文件
```
- 通过查询数据库创建DataFrame:
```python
import sqlite3
conn = sqlite3.connect('database.db') # 连接SQLite数据库
query = "SELECT * FROM table_name" # 查询语句
df = pd.read_sql(query, conn) # 执行查询并创建DataFrame
```
创建好DataFrame后,我们可以使用`head()`函数来查看前几行的数据,默认显示前5行:
```python
print(df.head())
```
### 2.2 数据索引与选择
Pandas提供了丰富的数据索引和选择的功能。我们可以使用行号、列名、条件表达式等方式来对DataFrame进行索引和选择。下面是一些常用的操作示例:
- 使用行号索引数据:
```python
df.iloc[0] # 获取第1行数据
df.iloc[0:5] # 获取第1-5行数据
```
- 使用列名索引数据:
```python
df['Name'] # 获取Name列的数据
df[['Name', 'Age']] # 获取Name和Age两列的数据
```
- 使用条件表达式筛选数据:
```python
df[df['Age'] > 25] # 筛选Age大于25的数据
df[(df['City'] == 'New York') & (df['Age'] < 30)] # 筛选City为'New York'且Age小于30的数据
```
### 2.3 数据筛选与过滤
除了常规的数据索引和选择外,Pandas还提供了更加灵活的数据筛选和过滤的功能,可以根据条件对数据进行筛选、过滤和排序。以下是一些示例代码:
- 按条件筛选数据:
```python
df.loc[df['Age'] > 25, 'Name'] # 筛选Age大于25的数据,并返回对应的Name列数据
```
- 按条件过滤数据:
```python
df.filter(like='Name') # 过滤列名中包含'Name'的数据列
df.filter(regex='[Nn]ame') # 过滤列名中正则表达式匹配[Nn]ame的数据列
```
- 数据排序:
```python
df.sort_values(by='Age', ascending=False) # 按Age列降序排序数据
```
### 2.4 数据统计与描述
Pandas提供了简便的方法来计算数据的统计信息和描述信息。我们可以计算平均值、标准差、最大值、最小值等常见的统计指标。以下是一些示例代码:
- 计算统计信息:
```python
df.mean() # 计算各列的均值
df.std() # 计算各列的标准差
df.max() # 计算各列的最大值
df.min() # 计算各列的最小值
```
- 数据描述:
```python
df.describe() # 生成数据的描述
```
0
0
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![md](https://img-home.csdnimg.cn/images/20250102104920.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![md](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)