pandas.DataFrame 是 pandas 库中最重要的数据结构之一,用于创建和操作二维表格数据。本文主要介绍一下Pandas中pandas.DataFrame()方法的使用。

class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

具有标记轴(行和列)的二维大小可变、可能异构的表格数据结构。算术运算在行和列标签上对齐。可以将其看作是系列对象的类似于dict的容器。主要的panda数据结构。

参数:

data : ndarray(结构化或同构)、IterabledictDataFrame

Dict可以包含序列、数组、常量或类似列表的对象

在版本0.23.0中进行了更改:如果数据是dict,

则Python 3.6及更高版本将维护参数顺序

index :指数或类数组

用于生成frame的索引。如果输入数据中没有索引信息,

也没有提供索引,那么默认值为RangeIndex 

columns : 指数或类数组

用于生成frame的列标签。如果没有提供列标签,

默认值为RangeIndex(0,1,2,…,n)

dtype : dtype,默认None

要强制执行的数据类型。只允许一个dtype

如果None,则进行推断

copy : boolean, 默认 False

从输入复制数据。只影响DataFrame / 2d ndarray输入

例子

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

推荐文档

相关文档

大家感兴趣的内容

随机列表