pandas DataFrame索引行列的实现

  • Post category:Python

下面就详细讲解一下“pandas DataFrame索引行列的实现”的完整攻略:

什么是 pandas DataFrame 索引行列

pandas DataFrame 是一个二维的表格型数据结构,每一行都有一个索引,每一列都有一个名称。在 pandas 中有多种方式来对 DataFrame 进行索引行列,如 loc、iloc 等。

使用 loc 对 DataFrame 进行索引行列

loc 函数可以通过行标签和列标签来访问 DataFrame 中的任何元素。其基本格式为:df.loc[row_label,column_label]。

下面以一个车站名称和日期为索引的 DataFrame 为例,展示如何使用 loc 对 DataFrame 进行索引行列:

import pandas as pd

data = {'北京': [620, 560, 680], '上海': [760, 720, 800], '广州': [660, 610, 710]}
df = pd.DataFrame(data, index=['2021-01-01', '2021-01-02', '2021-01-03'])
print(df.loc['2021-01-01':'2021-01-03', '北京':'广州'])

运行结果为:

            北京   上海   广州
2021-01-01  620  760  660
2021-01-02  560  720  610
2021-01-03  680  800  710

以上代码使用 loc 函数可以选择 ‘2021-01-01’ 到 ‘2021-01-03’ 这三天指定城市的客流量。

使用 iloc 对 DataFrame 进行索引行列

iloc 函数通过行数和列数来访问 DataFrame 中的任何元素。其基本格式为:df.iloc[row_number, column_number]。

下面以一个二维数组为索引的 DataFrame 为例,展示如何使用 iloc 对 DataFrame 进行索引行列:

import pandas as pd

data = [[10, 20, 30], [40, 50, 60], [70, 80, 90]]
df = pd.DataFrame(data, index=[0, 1, 2], columns=[0, 1, 2])
print(df.iloc[0:2, 1:3])

运行结果为:

    1   2
0  20  30
1  50  60

以上代码使用 iloc 函数可以选择第 0 行到第 1 行,第 1 列到第 2 列的元素。

总结

pandas DataFrame 索引行列可以使用 loc、iloc 等方法实现。其中,loc 方法通过行标签和列标签进行访问,而 iloc 方法通过行数和列数进行访问。在实际应用中,我们需要根据实际情况选择使用哪种方法来对 DataFrame 进行索引行列,以便更加灵活地处理数据。