pandas.DataFrame基本概念创建方法由数组 / 列表组成的字典由Series组成的字典通过二维数组直接创建由字典组成的列表由字典组成的字典 基本概念 DataFrame 是一个表格型的数据结构,包含一组有序的列,其列的值类型可以是数值、字符串、布尔值等。Dataframe中的数据以一个或多个二维块存放,不是列表、字典或一维数组结构 # Dataframe 数据结构 # Dataframe是一个表格型的数据结构,"带有标签的二维数组" # Dataframe带有index(行标签)和columns(列标签) import numpy import pandas data = {"na **pandas.DataFrame 概念及创建** `pandas.DataFrame` 是 Python 中用于处理和分析数据的核心数据结构之一,它提供了一种高效且灵活的方式来组织和操作表格数据。DataFrame 可以被视为一个带有标签的二维数组,其中包含了有序的列,列可以包含不同类型的值,如数值、字符串、布尔值等。DataFrame 有以下特点: 1. **带有标签的二维数组**:DataFrame 不仅包含数据,还具有行标签(index)和列标签(columns)。这些标签允许我们以名称而非位置来引用数据,提高了代码的可读性和可维护性。 2. **多类型数据**:DataFrame 的每一列可以拥有不同的数据类型,使得它能够存储复杂的数据集。 3. **数据块存储**:DataFrame 内部以一种优化的方式存储数据,可以是连续的内存块,也可以是分块存储,这取决于数据的大小和结构。 创建 DataFrame 的方法多种多样,可以根据数据来源和需求选择合适的方法。以下是常见的创建 DataFrame 的方式: ### 1. 由数组 / 列表组成的字典创建 ```python import pandas as pd import numpy as np data = {"a": [1, 2, 3], "b": [3, 4, 5]} df = pd.DataFrame(data) ``` 在上述代码中,字典的键成为 DataFrame 的列名,而字典的值(列表或数组)成为对应列的数据。如果各个列表的长度不一致,较短的列表后面的元素会被填充为 `NaN`。 ### 2. 由 Series 组成的字典创建 ```python data = { 'one': pd.Series(np.random.rand(2)), 'two': pd.Series(np.random.rand(3)) } df = pd.DataFrame(data) ``` 这里的 Series 可以有自定义的索引,如果 Series 的长度不同,生成的 DataFrame 中会有 `NaN` 值。 ### 3. 通过二维数组直接创建 ```python ar = np.random.rand(9).reshape(3, 3) df = pd.DataFrame(ar) ``` 使用二维数组创建 DataFrame,如果不指定 index 和 columns,默认会使用整数序列作为索引和列名。 ### 4. 通过字典组成的列表创建 ```python data_list = [ {"name": "Alice", "age": 25, "city": "New York"}, {"name": "Bob", "age": 30, "city": "San Francisco"} ] df = pd.DataFrame(data_list) ``` 在这种情况下,列表中的每个字典代表 DataFrame 中的一行,字典的键将成为列名,而字典的值将成为对应行的值。 ### 5. 通过其他数据结构转换 除了直接创建外,还可以通过 Series、NumPy 数组、列表、SQL 查询结果等方式转换成 DataFrame。 在实际使用中,我们可以根据具体的需求调整 DataFrame 的列顺序、索引,甚至可以添加新的列或行。例如,可以通过 `pd.DataFrame(data, columns=...)` 指定列的顺序,通过 `pd.DataFrame(data, index=...)` 自定义行标签。 `pandas.DataFrame` 提供了丰富的操作接口,使得数据分析变得简单而高效。无论是在数据清洗、预处理、统计分析还是数据可视化等场景,DataFrame 都是不可或缺的工具。
- 粉丝: 9
- 资源: 926
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助