gpt4 book ai didi

python - 在 Pandas 数据框中创建多索引列

转载 作者:行者123 更新时间:2023-12-03 18:44:41 25 4
gpt4 key购买 nike

我有一个具有以下结构的pandas数据框:

import numpy as np
import pandas as pd

df = pd.DataFrame(np.arange(32).reshape((4,8)),
index = pd.date_range('2016-01-01', periods=4),
columns=['male ; 0', 'male ; 1','male ; 2','male ; 4','female ; 0','female ; 1','female ; 2','female ; 3',])

列名称杂乱无章,标题名称中包含两个变量以及原始电子表格中的残留标点符号。

我想做的是在我的数据框中设置一个名为“性别和年龄”的MultiIndex列。

我尝试使用 pd.MultiIndex.from_tuples像这样:
columns = [('Male', 0),('Male', 1),('Male', 2),('Male', 3),('Female', 0),('Female', 1),('Female', 2),('Female', 3)]
df.columns = pd.MultiIndex.from_tuples(columns)

然后命名列索引:
df.columns.names = ['Sex', 'Age']

这给出了我想要的结果。但是,我的数据框对于每个性别的年龄都超过100岁,因此这不是很实际。

有人可以指导我如何以编程方式从元组设置MultiIndex列。

最佳答案

Jaco的答案效果很好,但是您甚至可以直接使用MultiIndex从产品创建.from_product():

sex = ['Male', 'Female']
age = range(100)
df.columns = pd.MultiIndex.from_product([sex, age], names=['Sex', 'Age'])

关于python - 在 Pandas 数据框中创建多索引列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35760223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com