**Python数据科学速查表 - Pandas 基础**
Pandas是Python中用于数据分析的核心库,它提供了高效的数据结构,如DataFrame和Series,使得数据清洗、预处理、分析和可视化变得异常简单。本速查表主要涵盖了Pandas的基础知识,帮助用户快速查找和应用常用功能。
### 1. 安装与导入
在Python环境中,可以通过`pip install pandas`命令安装Pandas库。导入Pandas时通常使用以下代码:
```python
import pandas as pd
```
### 2. 创建DataFrame
DataFrame是Pandas的主要数据结构,可以从多种数据源创建,如列表、字典、CSV文件等。
```python
# 从列表创建
data = [['Tom', 23], ['Nick', 25]]
df = pd.DataFrame(data, columns=['Name', 'Age'])
# 从字典创建
dict_data = {'Name': ['Tom', 'Nick'], 'Age': [23, 25]}
df = pd.DataFrame(dict_data)
# 读取CSV文件
df = pd.read_csv('file.csv')
```
### 3. DataFrame操作
- 查看数据:`head()`, `tail()`
- 获取信息:`info()`
- 访问列:`df['column_name']`
- 访问行:`df.loc[row_index]` 或 `df.iloc[row_index]`
- 转置:`df.T`
- 数据选择:`df.loc[条件]` 或 `df[df['column'] == value]`
- 数据排序:`df.sort_values('column')` 或 `df.sort_index()`
- 数据分组:`df.groupby('column')`
### 4. Series操作
Series是Pandas的基本一维数据结构,类似于一列数据。
- 创建Series:`pd.Series(data)`
- 访问值:`series_name[index]`
- 运算:`+`, `-`, `*`, `/`, `%`等
- 转换类型:`series_name.astype('data_type')`
### 5. 数据清洗
- 缺失值处理:`fillna()`, `dropna()`
- 数据替换:`replace()`
- 数据类型转换:`astype()`
- 数据去重:`drop_duplicates()`
### 6. 数据合并与连接
- 合并:`pd.concat([df1, df2], axis=0/1)` (水平/垂直合并)
- 内连接:`df1.merge(df2, on='common_column')`
- 左连接:`df1.merge(df2, on='common_column', how='left')`
- 右连接:`df1.merge(df2, on='common_column', how='right')`
- 外连接:`df1.merge(df2, on='common_column', how='outer')`
### 7. 数据重塑与聚合
- 转置或重塑:`pd.melt()`, `pivot()`, `stack()`, `unstack()`
- 聚合函数:`sum()`, `mean()`, `min()`, `max()`, `count()`
- 分组聚合:`groupby().agg(['function1', 'function2'])`
### 8. 时间序列分析
Pandas支持时间序列数据处理,包括日期和时间操作。
- 创建日期索引:`pd.date_range(start, end)`
- 将列转换为日期:`df['date_column'] = pd.to_datetime(df['date_column'])`
- 日期运算:`df['date_column'] + pd.DateOffset(months=1)`
- 时间窗口聚合:`df.resample('D').sum()`(按天聚合)
### 9. 数据导出
Pandas支持多种格式的数据导出,如CSV、Excel、SQL数据库等。
```python
# 导出到CSV
df.to_csv('output.csv')
# 导出到Excel
df.to_excel('output.xlsx')
# 导出到SQL数据库
df.to_sql('table_name', connection_object)
```
通过理解并熟练掌握这些基本操作,你将能够在数据科学项目中充分利用Pandas的强大功能。这个速查表旨在提供一个快速参考,帮助你在遇到具体问题时能迅速找到解决方案。在实际使用中,你可能还需要结合其他数据处理库(如NumPy和SciPy)以及可视化库(如Matplotlib和Seaborn)来完成更复杂的数据分析任务。