### 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
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Tina 9.3仿真软件
- 【java毕业设计】springboot-酷听音乐(springboot+vue+mysql+说明文档).zip
- 【java毕业设计】基于SpringBoot的遥感影像共享系统(springboot+vue+mysql+说明文档).zip
- 【java毕业设计】springboot的自习室座位预约系统(springboot+vue+mysql+说明文档).zip
- 构建HTTP客户端:Python实现与最佳实践
- Veriloh-HDL实现的通用串口模块,UART通信,支持校验,波特率参数化可设置
- 【java毕业设计】springbootJava Move体育商城(springboot+vue+mysql+说明文档).zip
- 【java毕业设计】springboot乡村生活垃圾(springboot+vue+mysql+说明文档).zip
- 128张云飞24811172自动化(2405)_QQ浏览器转格式.pdf
- ditto安装包+pixpin安装包+notepad++.rar