pandas多级索引结构multi_index:pd.MultiIndex.from_product

pd.MultiIndex.from_product 是 Pandas 中用于创建多层索引(MultiIndex)的函数。多层索引是一种结构,允许你在 Pandas 数据结构(如 DataFrame 或 Series)的行或列上创建多个层级的索引,使你能够更灵活地组织和检索数据。这个函数通常用于在创建 DataFrame 或 Series 时,指定多层索引的结构。

以下是 pd.MultiIndex.from_product 的一般用法:

pd.MultiIndex.from_product(iterables, names=None)
  • iterables:一个包含可迭代对象(如列表、数组、元组等)的列表或元组。每个可迭代对象代表一个索引层级,而 from_product 将这些可迭代对象的元素进行笛卡尔积操作来创建多层索引。每个元素将与其他元素组合,形成所有可能的组合。
  • names:一个可选参数,用于指定每个索引层级的名称。它通常是一个字符串或字符串列表,分别对应于多层索引的不同层级。这可以提供可读性和标签。

下面是一个示例,演示如何使用 pd.MultiIndex.from_product 创建一个多层索引:

import pandas as pd

dates = ['2023-01-01', '2023-01-02']
categories = ['A', 'B']

# 使用 from_product 创建多层索引,减少日期或类别的数量
multi_index = pd.MultiIndex.from_product([dates, categories], names=['Date', 'Category'])

# 利用multi_index创建一个多级索引的DataFrame
data = [10, 20, 15, 25]  # 匹配的数据数量为 4 个
df = pd.DataFrame(data, index=multi_index, columns=['Value'])
print(df)

                     Value
Date       Category       
2023-01-01 A            10
           B            20
2023-01-02 A            15
           B            25


# 重置索引,将多级索引转为df中的列
df = df.reset_index()
print(df)

         Date Category  Value
0  2023-01-01        A     10
1  2023-01-01        B     20
2  2023-01-02        A     15
3  2023-01-02        B     25

发表评论

评论列表,共 2 条评论

  • D Change

    Because the admin of this web site is working, no doubt very rapidly it will be famous, due to its feature contents.

  • skdjht3eigjsfdgfddf.com

    I think the admin of this site is actually working hard in support of his site, for the reason that here every information is quality based stuff.