gpt4 book ai didi

python - 如何将名称添加到多个列?

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:14 24 4
gpt4 key购买 nike

我想为以下 DataFrame 的列“Season_1”和“Season_2”分配一个名称(如 John):

             Season_1  Season_2
Wins 151 120
Losses 124 110

所以它应该是这样的:

             John
Season_1 Season_2
Wins 151 120
Losses 124 110

这可能可以通过 MultiIndex 来解决。但是,当已经有一个现有的 DataFrame 时,我似乎无法找出它是如何工作的。

我用这段代码创建了这个 DataFrame:

wins = {'Wins': (151, 120)}

losses = {'Losses': (124, 110)}

dict_all = {**wins, **losses}
df = pd.DataFrame.from_dict(dict_all, orient='index', columns=['Season_1', 'Season_2'])

稍后我想组合几个DataFrames,这样我就会得到这样的东西。我会为此使用 pandas.merge() :

             John                Adam
Season_1 Season_2 Season_1 Season_2
Wins 151 120 111 110
Losses 124 110 102 110

最佳答案

需要添加列级别

df.columns = pd.MultiIndex.from_product([['John'], df.columns])

John
Season_1 Season_2
Wins 151 120
Losses 124 110

后续问题 1:第 1 季的“约翰”和第 2 季的“亚当”

df.columns = pd.MultiIndex.from_tuples([('John', 'Season_1'), ('Adam', 'Season_2')]) 

后续问题 2:5 列(“A”、“B”、“C”、“D”、“E”)并将“一级”分配给“A”、“B”、“C”以及从“二级”到“D”、“E”的级别。

df.columns = pd.MultiIndex.from_tuples([('One', 'A'),('One', 'B'),('One', 'C'), ('Two', 'D'),('Two', 'E')]) 

关于python - 如何将名称添加到多个列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54261663/

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