### Python 数据科学速查表 — Pandas 基础
#### 概述
Pandas 是一个强大的数据分析和处理库,广泛应用于 Python 数据科学领域。它提供了高性能、易用的数据结构和数据分析工具。本文将根据提供的内容详细介绍 Pandas 中的基础概念和操作方法。
#### Pandas 的核心数据结构:Series 和 DataFrame
- **Series**:一维数组,可以存储任何数据类型(整型、浮点型、字符串等)。类似于一维数组,但轴上带有一个索引。
- 示例创建:
```python
import pandas as pd
s = pd.Series([3, -5, 7, 4], index=['a', 'b', 'c', 'd'])
```
- 属性和方法:
- `s['b']`:通过索引选择元素的值。
- `s[(s < -1) | (s > 2)]`:使用布尔索引来过滤 Series。
- **DataFrame**:二维表格型数据结构,每一列可以存储不同的数据类型(如整数、浮点数或字符串)。DataFrame 由 Series 组成,每个 Series 都有自己的索引。
- 示例创建:
```python
data = {'Country': ['Belgium', 'India', 'Brazil'],
'Capital': ['Brussels', 'NewDelhi', 'Brasília'],
'Population': [11190846, 1303171035, 207847528]}
df = pd.DataFrame(data, columns=['Country', 'Capital', 'Population'])
```
- 属性和方法:
- `df[1:]`:选择 DataFrame 的子集。
- `df.iloc[[0], [0]]`:按位置选取元素。
- `df.loc[[0], ['Country']]`:按名称选取元素。
- `df['Population'] > 1200000000`:布尔索引筛选。
- `df.shape`:返回 DataFrame 的维度。
- `df.index`:获取 DataFrame 的索引。
- `df.columns`:获取 DataFrame 的列名。
- `df.info()`:显示 DataFrame 的基本信息。
- `df.count()`:计算每列非空值的数量。
#### 数据操作
- **选择数据**:
- `df.loc`:基于标签的选择。
- `df.iloc`:基于位置的选择。
- `df.iat`:快速获取标量。
- `df.at`:快速设置标量。
- `df.ix`:同时支持标签和位置选择(不推荐使用)。
- **设置数据**:
- `s['a'] = 6`:设置 Series 的值。
- `df.drop('Country', axis=1)`:删除 DataFrame 的列。
- **应用函数**:
- `df.apply(f)`:沿轴应用函数。
- `df.applymap(f)`:逐元素应用函数。
- **汇总统计**:
- `df.sum()`:求和。
- `df.cumsum()`:累计求和。
- `df.min() / df.max()`:最小值和最大值。
- `df.idxmin() / df.idxmax()`:最小值和最大值的索引。
- `df.describe()`:统计描述。
- `df.mean()`:均值。
- `df.median()`:中位数。
- **排序和排名**:
- `df.sort_index()`:按索引排序。
- `df.sort_values(by='Country')`:按某一列排序。
- `df.rank()`:按数值排名。
- **数据对齐**:
- `s.add(s3, fill_value=0)`:向量运算时自动对齐索引并填充缺失值。
- `s.sub(s3, fill_value=2)`:减法操作。
- `s.div(s3, fill_value=4)`:除法操作。
- `s.mul(s3, fill_value=3)`:乘法操作。
#### 输入/输出
- **读写 CSV 文件**:
- `pd.read_csv('file.csv', header=None, nrows=5)`:读取 CSV 文件。
- `df.to_csv('myDataFrame.csv')`:将 DataFrame 写入 CSV 文件。
- **读写 Excel 文件**:
- `pd.read_excel('file.xlsx')`:读取 Excel 文件。
- `df.to_excel('dir/myDataFrame.xlsx', sheet_name='Sheet1')`:将 DataFrame 写入 Excel 文件。
- `xlsx = pd.ExcelFile('file.xls')`:读取包含多个工作表的 Excel 文件。
#### 结论
Pandas 提供了丰富的功能来处理和分析数据,其核心数据结构 Series 和 DataFrame 为数据操作提供了极大的灵活性。本指南涵盖了 Pandas 中基础的操作方法和功能,可以帮助初学者快速入门,并为更复杂的数据分析任务打下坚实的基础。掌握这些基本技能是进行高效数据分析的关键步骤。