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