【基础】Python与Pandas结合:数据分析实战
发布时间: 2024-06-26 12:26:03 阅读量: 74 订阅数: 115
![【基础】Python与Pandas结合:数据分析实战](https://img-blog.csdnimg.cn/img_convert/a03c8519ab7a5aa2d72d0928d3bc33bd.png)
# 2.1 数据读取与清洗
### 2.1.1 数据读取
Pandas提供了多种方式来读取数据,包括:
- `read_csv()`: 从CSV文件读取数据
- `read_excel()`: 从Excel文件读取数据
- `read_sql()`: 从SQL数据库读取数据
- `read_json()`: 从JSON文件读取数据
```python
import pandas as pd
# 从CSV文件读取数据
df = pd.read_csv('data.csv')
# 从Excel文件读取数据
df = pd.read_excel('data.xlsx')
# 从SQL数据库读取数据
df = pd.read_sql('SELECT * FROM table_name', 'database_name')
# 从JSON文件读取数据
df = pd.read_json('data.json')
```
### 2.1.2 数据清洗
数据清洗是数据预处理中至关重要的一步,它可以去除数据中的错误、缺失值和异常值,从而提高数据的质量。Pandas提供了多种数据清洗方法,包括:
- `dropna()`: 删除包含缺失值的列或行
- `fillna()`: 用指定值填充缺失值
- `replace()`: 替换特定值
- `drop_duplicates()`: 删除重复行
```python
# 删除包含缺失值的列
df = df.dropna(axis=1)
# 用0填充缺失值
df = df.fillna(0)
# 替换特定值
df = df.replace('NULL', np.nan)
# 删除重复行
df = df.drop_duplicates()
```
# 2. 数据预处理与探索性分析
### 2.1 数据读取与清洗
#### 2.1.1 数据读取
数据读取是数据预处理的第一步,Pandas 提供了多种读取数据的方法,包括:
- `read_csv()`:从 CSV 文件读取数据
- `read_excel()`:从 Excel 文件读取数据
- `read_sql()`:从 SQL 数据库读取数据
- `read_json()`:从 JSON 文件读取数据
```python
# 从 CSV 文件读取数据
df = pd.read_csv('data.csv')
# 从 Excel 文件读取数据
df = pd.read_excel('data.xlsx')
# 从 SQL 数据库读取数据
df = pd.read_sql('SELECT * FROM table_name', 'sqlite:///database.db')
# 从 JSON 文件读取数据
df = pd.read_json('data.json')
```
#### 2.1.2 数据清洗
数据清洗是将原始数据转换为可用于分析的格式的过程。它包括处理缺失值、异常值、重复值和数据类型不一致等问题。
- **处理缺失值**:缺失值可以用平均值、中位数或众数等方法填充,也可以直接删除。
- **处理异常值**:异常值可以删除,也可以用其他值替换。
- **处理重复值**:重复值可以用 `drop_duplicates()` 方法删除。
- **处理数据类型不一致**:数据类型不一致可以通过 `astype()` 方法转换。
```python
# 处理缺失值
df.fillna(df.mean(), inplace=True)
# 处理异常值
df.loc[df['column_name'] > 100, 'column_name'] = 100
# 处理重复值
df.drop_duplicates(inplace=True)
# 处理数据类型不一致
df['column_name'] = df['column_name'].astype(int)
```
### 2.2 数据探索与可视化
#### 2.2.1 数据概览
数据概览可以帮助我们了解数据的基本信息,包括数据类型、缺失值、异常值和数据分布。
- `info()` 方法可以显示数据类型和缺失值信息。
- `describe()` 方法可以显示数据分布的统计信息,如均值、中位数、标准差等。
- `value_counts()` 方法可以显示每个唯一值出现的次数。
```python
# 显示数据类型和缺失值信息
df.info()
# 显示数据分布的统计信息
df.describe()
# 显示每个唯一值出现的次数
df['column_name'].value_counts()
```
#### 2.2.2 数据可视化
数据可视化可以帮助我们直观地了解数据的分布和趋势。Pandas
0
0