📜  Pandas 中的分层数据(1)

📅  最后修改于: 2023-12-03 15:33:24.060000             🧑  作者: Mango

Pandas 中的分层数据

Pandas 中的分层数据(Hierarchical Indexing)是一种多级索引的数据结构。在 Pandas 中,我们可以使用这种数据结构来表示具有多个维度的数据,并在索引时更加灵活。

创建分层数据

我们可以通过传入一个元组的列表来创建一个分层数据:

import pandas as pd

data = pd.DataFrame({'price': [1.0, 2.0, 3.0, 4.0],
                     'volume': [10, 20, 30, 40],
                     'symbol': ['AAPL', 'AAPL', 'GOOG', 'GOOG'],
                     'date': ['2020-01-01', '2020-01-02', '2020-01-01', '2020-01-02']})

data = data.set_index(['symbol', 'date'])

上面的代码中,我们通过将 symboldate 列设置为索引来创建了一个分层数据。现在,我们可以通过以下的方式来访问数据:

data.loc['AAPL', '2020-01-01']
选择分层数据

在分层数据中,我们可以使用多个索引来选择子集。例如,我们可以使用 loc 来选择一个符号和日期的子集:

data.loc[('AAPL', '2020-01-01'), :]

我们也可以使用 iloc 来选择一个子集:

data.iloc[0:2, :]
操作分层数据

我们也可以对分层数据进行一些操作,例如:

重命名索引
data = data.rename_axis(['symbol', 'date'])
交换索引级别
data = data.swaplevel('symbol', 'date')
排序
data = data.sort_index()
计算统计量
data.sum(level='symbol')
总结

在 Pandas 中,分层数据可以帮助我们更好地处理具有多个维度的数据。我们可以使用分层数据来选择子集、操作数据、计算统计量等。