class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)
具有标记轴(行和列)的二维大小可变、可能异构的表格数据结构。算术运算在行和列标签上对齐。可以将其看作是系列对象的类似于dict的容器。主要的panda数据结构。
参数: | data : Dict可以包含序列、数组、常量或类似列表的对象 在版本0.23.0中进行了更改:如果数据是dict, 则Python 3.6及更高版本将维护参数顺序 index :指数或类数组 用于生成frame的索引。如果输入数据中没有索引信息, 也没有提供索引,那么默认值为 columns : 指数或类数组 用于生成frame的列标签。如果没有提供列标签, 默认值为 dtype : 要强制执行的数据类型。只允许一个 如果 copy : 从输入复制数据。只影响 |
例子,
1)从字典创建 DataFrame
import pandas as pd # 创建一个字典 data = { 'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'City': ['New York', 'Los Angeles', 'Chicago'] } # 从字典创建 DataFrame df = pd.DataFrame(data) print("DataFrame from dictionary:\n", df)
2)从二维数组创建 DataFrame
import pandas as pd # 创建一个二维数组 data = [ [1, 'Alice', 25], [2, 'Bob', 30], [3, 'Charlie', 35] ] # 指定列标签 columns = ['ID', 'Name', 'Age'] # 从二维数组创建 DataFrame df = pd.DataFrame(data, columns=columns) print("\nDataFrame from 2D array:\n", df)
3)从字典的列表创建 DataFrame
import pandas as pd # 创建一个字典的列表 data = [ {'Name': 'Alice', 'Age': 25, 'City': 'New York'}, {'Name': 'Bob', 'Age': 30, 'City': 'Los Angeles'}, {'Name': 'Charlie', 'Age': 35, 'City': 'Chicago'} ] # 从字典的列表创建 DataFrame df = pd.DataFrame(data) print("\nDataFrame from list of dictionaries:\n", df)
4)从系列创建 DataFrame
import pandas as pd # 创建多个系列 name_series = pd.Series(['Alice', 'Bob', 'Charlie']) age_series = pd.Series([25, 30, 35]) city_series = pd.Series(['New York', 'Los Angeles', 'Chicago']) # 从系列创建 DataFrame df = pd.DataFrame({ 'Name': name_series, 'Age': age_series, 'City': city_series }) print("\nDataFrame from series:\n", df)
5)指定行标签和列标签
import pandas as pd # 创建一个字典 data = { 'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'City': ['New York', 'Los Angeles', 'Chicago'] } # 指定行标签和列标签 index = ['row1', 'row2', 'row3'] columns = ['Name', 'Age', 'City'] # 创建 DataFrame df = pd.DataFrame(data, index=index, columns=columns) print("\nDataFrame with specified row and column labels:\n", df)
6)使用示例
import pandas as pd import numpy as np # 示例1:从字典构造 DataFrame d = {'col1': [1, 2], 'col2': [3, 4]} df = pd.DataFrame(data=d) print("DataFrame from dictionary:\n", df) # 显示推断的 dtype print("\nInferred dtypes:\n", df.dtypes) # 强制执行单个 dtype df_int8 = pd.DataFrame(data=d, dtype=np.int8) print("\nDataFrame with dtype forced to int8:\n", df_int8) print("\nDtypes after forcing to int8:\n", df_int8.dtypes) # 示例2:从 numpy ndarray 构造 DataFrame ndarray = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) df2 = pd.DataFrame(ndarray, columns=['a', 'b', 'c']) print("\nDataFrame from numpy ndarray:\n", df2)
官方文档:http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html#pandas.DataFrame