Pandas Cheat Sheet
需积分: 0 132 浏览量
更新于2017-04-01
收藏 669KB PDF 举报
### Pandas Cheat Sheet详解
#### 一、简介
Pandas 是 Python 中用于数据分析的一个非常强大的库,它提供了高性能且易用的数据结构与数据分析工具。Pandas 的核心数据结构包括 `Series` 和 `DataFrame`,它们使得处理数据变得更加简单高效。
#### 二、创建 DataFrame
在 Pandas 中创建 DataFrame 的方式有很多种:
1. **指定每列的值**:
```python
df = pd.DataFrame({"a": [4, 5, 6], "b": [7, 8, 9], "c": [10, 11, 12]}, index=[1, 2, 3])
```
这种方式直接指定了每列的值,并且可以自定义索引。
2. **指定每行的值**:
```python
df = pd.DataFrame([[4, 7, 10], [5, 8, 11], [6, 9, 12]], index=[1, 2, 3], columns=['a', 'b', 'c'])
```
此方式通过列表的形式指定每行的值,并同样可以自定义索引和列名。
3. **创建具有 MultiIndex 的 DataFrame**:
```python
df = pd.DataFrame({"a": [4, 5, 6], "b": [7, 8, 9], "c": [10, 11, 12]},
index=pd.MultiIndex.from_tuples([('d', 1), ('d', 2), ('e', 2)], names=['n', 'v']))
```
MultiIndex 可以让 DataFrame 具有多层索引,适合处理具有多维层次的数据。
#### 三、数据整理(Tidy Data)
Tidy data 是一种数据格式,其基本原则是:
- 每个变量都保存在自己的列中。
- 每个观测值都保存在自己的行中。
这样的格式非常适合使用 Pandas 进行数据操作,因为 Pandas 支持向量化运算,能够自动保持观测值不变,而仅对变量进行操作。这种数据格式可以极大地提高数据处理的效率。
#### 四、重塑数据(Reshaping Data)
在 Pandas 中,重塑数据是指改变数据集的布局或形状。常见的操作包括:
- **收集列到行**:
```python
pd.melt(df)
```
此方法将多列转换为单列,并将剩余的列作为标识符。
- **展开行到列**:
```python
df.pivot(columns='var', values='val')
```
此方法将特定列的值作为新的列名,并将其他列的值填充到新列中。
- **追加 DataFrame 的行**:
```python
pd.concat([df1, df2])
```
将两个 DataFrame 的行进行拼接。
- **追加 DataFrame 的列**:
```python
pd.concat([df1, df2], axis=1)
```
将两个 DataFrame 的列进行拼接。
#### 五、排序和重命名
- **按列排序**:
```python
df = df.sort_values('mpg')
df = df.sort_values('mpg', ascending=False)
```
对 DataFrame 按照某列的值进行升序或降序排序。
- **重命名列**:
```python
df = df.rename(columns={'y': 'year'})
```
重命名 DataFrame 中的列名。
- **排序索引**:
```python
df = df.sort_index()
```
对 DataFrame 的索引进行排序。
- **重置索引**:
```python
df = df.reset_index()
```
重置 DataFrame 的索引,将原有的索引移到列中,并使用默认的整数索引。
- **删除列**:
```python
df = df.drop(['Length', 'Height'], axis=1)
```
删除 DataFrame 中的指定列。
#### 六、子集选择
- **子集观测值(行)**:
```python
df[df.Length > 7]
```
提取满足逻辑条件的行。
- **子集变量(列)**:
```python
df[['a', 'b']]
```
提取 DataFrame 中的指定列。
#### 七、逻辑操作
Pandas 中支持多种逻辑操作,例如:
- `<`: 小于
- `!=`: 不等于
- `>`: 大于
这些逻辑操作可以用于筛选数据。
#### 八、方法链式调用
Pandas 的方法通常会返回一个新的 DataFrame,这意味着可以在一次表达式中连续调用多个方法,提高代码的可读性。例如:
```python
df = (pd.melt(df)
.rename(columns={'variable': 'var', 'value': 'val'})
.query('val >= 200')
)
```
#### 九、去除重复值
- **去除重复行**:
```python
df.drop_duplicates()
```
去除 DataFrame 中重复的行,默认情况下只考虑列值。
#### 十、获取数据片段
- **选取前 n 行**:
```python
df.head(n)
```
获取 DataFrame 的前 n 行。
- **选取后 n 行**:
```python
df.tail(n)
```
获取 DataFrame 的后 n 行。
Pandas Cheat Sheet 总结了 Pandas 库中的一些常用功能和操作,对于初学者来说是非常有用的参考资料。掌握了这些基本操作之后,就可以更加高效地处理和分析数据了。

侯沂伯
- 粉丝: 33
- 资源: 66
最新资源
- 基于SSM商城系统.zip
- 毕业生离校管理系统.zip
- 博客系统毕业设计.zip
- 超市管理系统高级版v2.zip
- 房屋租赁管理信息系统v2.zip
- 进销存或库存管理系统.zip
- 智能桌面宠物完整资料.zip
- IEEE标准节点仿真模型系列:涵盖多种配置,潮流计算已调试完毕,适用于短路仿真与电能质量研究,IEEE标准节点仿真模型系列:潮流计算及扩展应用,IEEE标准节点仿真模型 1、IEEE2机5节点 2、
- 计算机毕业设计源码:基于Java的小说中敏感词识别系统设计与实现.zip关注博主
- 《无线通信》 AndreaGoldsmith、杨鸿文等译
- 三种版本的redis软件包
- report547769026951657921.pdf
- 基于 DeepSeek-Coder 代码漏洞检测与修复的 Python 源码
- 语音转文字模型测试demo(linux)
- 面向能源系统的深度强化学习算法性能比较及最优调度策略代码实践,能源系统深度强化学习算法性能比较及最优调度策略代码实践,面向能源系统深度强化学习算法的性能比较 最优调度(代码) ,面向能源系统;深度强化
- spider for learning (died)