Python Pandas - 访问 DataFrame



Pandas DataFrame 是一种二维带标签的数据结构,具有行和列标签,它看起来和工作方式类似于数据库或电子表格中的表格。为了使用 DataFrame 标签,pandas 提供了简单的工具来使用索引访问和修改行和列,即 DataFrame 的indexcolumns 属性。

在本教程中,我们将学习如何使用 DataFrame 的indexcolumns 属性来访问和操作 DataFrame 的行和列。

访问 DataFrame 行

Pandas 的DataFrame.index 属性用于访问 DataFrame 的行标签。它返回一个索引对象,其中包含与 DataFrame 每行中表示的数据相对应的标签序列。这些标签可以是整数、字符串或其他可哈希类型。

示例:访问 DataFrame 行标签

以下示例使用pd.index 属性访问 DataFrame 行标签。

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({
    'Name': ['Steve', 'Lia', 'Vin', 'Katie'],
    'Age': [32, 28, 45, 38],
    'Gender': ['Male', 'Female', 'Male', 'Female'],
    'Rating': [3.45, 4.6, 3.9, 2.78]},
    index=['r1', 'r2', 'r3', 'r4'])

# Access the rows of the DataFrame
result = df.index
print('Output Accessed Row Labels:', result)

以下是上述代码的输出 -

Output Accessed Row Labels: Index(['r1', 'r2', 'r3', 'r4'], dtype='object')

示例:修改 DataFrame 行索引

此示例访问并修改 Pandas DataFrame 的行标签。

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({
    'Name': ['Steve', 'Lia', 'Vin', 'Katie'],
    'Age': [32, 28, 45, 38],
    'Gender': ['Male', 'Female', 'Male', 'Female'],
    'Rating': [3.45, 4.6, 3.9, 2.78]},
    index=['r1', 'r2', 'r3', 'r4'])

# Display the Input DataFrame
print('Input DataFrame:\n', df)

# Modify the Row labels of the DataFrame
df.index = [100, 200, 300, 400]
print('Output Modified DataFrame with the updated index labels:\n', df)

执行上述代码后,您将获得以下输出 -

Input DataFrame:
Name Age Gender Rating
r1 Steve 32 Male 3.45
r2 Lia 28 Female 4.60
r3 Vin 45 Male 3.90
r4 Katie 38 Female 2.78
Output Modified DataFrame with the updated index labels:
Name Age Gender Rating
100 Steve 32 Male 3.45
200 Lia 28 Female 4.60
300 Vin 45 Male 3.90
400 Katie 38 Female 2.78

访问 DataFrame 列

Pandas 的pd.columns 属性用于访问 DataFrame 中列的标签。您可以类似于我们处理行标签的方式来访问和修改这些列标签。

示例:访问 DataFrame 列标签

以下示例使用pd.columns 属性访问 DataFrame 列标签。

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({
    'Name': ['Steve', 'Lia', 'Vin', 'Katie'],
    'Age': [32, 28, 45, 38],
    'Gender': ['Male', 'Female', 'Male', 'Female'],
    'Rating': [3.45, 4.6, 3.9, 2.78]},
    index=['r1', 'r2', 'r3', 'r4'])

# Access the column labels of the DataFrame
result = df.columns
print('Output Accessed column Labels:', result)

以下是上述代码的输出 -

Output Accessed column Labels: Index(['Name', 'Age', 'Gender', 'Rating'], dtype='object')

示例:修改 DataFrame 列标签

此示例使用pd.columns 属性访问并修改 DataFrame 列标签。

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({
    'Name': ['Steve', 'Lia', 'Vin', 'Katie'],
    'Age': [32, 28, 45, 38],
    'Gender': ['Male', 'Female', 'Male', 'Female'],
    'Rating': [3.45, 4.6, 3.9, 2.78]},
    index=['r1', 'r2', 'r3', 'r4'])
    
# Display the Input DataFrame
print('Input DataFrame:\n', df)

# Modify the Column labels of the DataFrame
df.columns = ['Col1', 'Col2', 'Col3', 'Col4']
print('Output Modified DataFrame with the updated Column Labels\n:', df)

以下是上述代码的输出 -

Input DataFrame:
Name Age Gender Rating
r1 Steve 32 Male 3.45
r2 Lia 28 Female 4.60
r3 Vin 45 Male 3.90
r4 Katie 38 Female 2.78
Output Modified DataFrame with the updated Column Labels
Col1 Col2 Col3 Col4
r1 Steve 32 Male 3.45
r2 Lia 28 Female 4.60
r3 Vin 45 Male 3.90
r4 Katie 38 Female 2.78
广告