【Pandas】(2)DataFrame

13 阅读3分钟

Pandas 的 DataFrame 是一个二维的、大小可变的、异质型表格数据结构,带有标签化的轴(行和列)。简单来说,你可以将 DataFrame 看作是一个 Excel 表格或 SQL 数据表,在数据分析和数据处理中非常有用。

创建 DataFrame

DataFrame 可以通过多种方式创建,最常用的是直接从字典、列表的列表、或 NumPy 数组创建。

从字典创建

import pandas as pd

data = {
    'Column1': [1, 2, 3, 4],
    'Column2': ['a', 'b', 'c', 'd'],
    'Column3': [1.1, 2.2, 3.3, 4.4]
}

df = pd.DataFrame(data)

从列表的列表创建

data = [
    [1, 'a', 1.1],
    [2, 'b', 2.2],
    [3, 'c', 3.3],
    [4, 'd', 4.4]
]

df = pd.DataFrame(data, columns=['Column1', 'Column2', 'Column3'])

从 NumPy 数组创建

import numpy as np

data = np.array([
    [1, 'a', 1.1],
    [2, 'b', 2.2],
    [3, 'c', 3.3],
    [4, 'd', 4.4]
])

df = pd.DataFrame(data, columns=['Column1', 'Column2', 'Column3'])

从Series创建

# -*- coding: utf-8 -*-  
  
import pandas as pd  
  
data = {  
    'Column1': [1, 2, 3, 4],  
    'Column2': ['a', 'b', 'c', 'd'],  
    'Column3': [1.1, 2.2, 3.3, 4.4]  
}  
  
s = pd.Series(data)  
df = pd.DataFrame(data)

确实,对于操作和分析 Pandas DataFrame,了解如何获取和使用其属性是基本且重要的。这些属性提供了有关 DataFrame 的结构和内容的信息,对于数据预处理、分析和可视化都非常有用。下面列出了一些最常用的属性和方法来获取 DataFrame 的属性:

DataFrame 属性

Pandas DataFrame 是用于数据科学和分析的一个强大工具,它提供了一系列属性,使得数据探索、清洗和处理变得更加高效和直观。以下是 DataFrame 的一些核心属性,它们为数据操作和分析提供了基础。

1. dtypes

  • 描述:显示每一列数据的数据类型。
  • 用法df.dtypes
  • 返回值:Pandas Series,索引为列名,值为每列的数据类型。

2. shape

  • 描述:提供 DataFrame 的形状,即行数和列数。
  • 用法df.shape
  • 返回值:一个元组,第一个元素是行数,第二个元素是列数。

3. index

  • 描述DataFrame 的索引(行标签)。
  • 用法df.index
  • 返回值:Pandas Index 对象,包含所有行标签。

4. columns

  • 描述DataFrame 的列名。
  • 用法df.columns
  • 返回值:Pandas Index 对象,包含所有列名。

5. values

  • 描述DataFrame 中的数据,以 NumPy 数组的形式返回。
  • 用法df.values
  • 返回值:一个 NumPy 数组,包含 DataFrame 的数据。

6. size

  • 描述DataFrame 中元素的总数量。
  • 用法df.size
  • 返回值:一个整数,等于行数乘以列数。

7. T (转置)

  • 描述DataFrame 的转置版本,即行列互换。
  • 用法df.T
  • 返回值:行列互换后的 DataFrame

8. empty

  • 描述:检查 DataFrame 是否为空(无行或列)。
  • 用法df.empty
  • 返回值:布尔值,如果 DataFrame 为空,则返回 True;否则返回 False

示例

假设我们有以下 DataFrame

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'Salary': [50000, 70000, 80000]
}

df = pd.DataFrame(data)

展示如何使用这些属性:

# 数据类型
print(df.dtypes)

# 形状
print(df.shape)

# 索引
print(df.index)

# 列名
print(df.columns)

# 值
print(df.values)

# 元素总数
print(df.size)

# 转置
print(df.T)

# 是否为空
print(df.empty)

获取DataFrame数据

info()

提供 DataFrame 的概览,包括每列的类型、非空值数量以及内存使用情况。

df.info()

head(n)

查看 DataFrame 的前 n 行数据,默认值为 5。

df.head()

tail(n)

查看 DataFrame 的后 n 行数据,默认值为 5。

df.tail()

describe()

提供 DataFrame 数值列的统计摘要,包括均值、标准差、最小值、最大值等。

df.describe()

示例

假设我们有以下 DataFrame

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'Salary': [50000, 70000, 80000]
}

df = pd.DataFrame(data)

获取和查看其属性和统计摘要:

# DataFrame 概览
df.info()

# 查看前几行
print(df.head(2))

# 查看后几行
print(df.tail(2))

# 统计摘要
print(df.describe())