gpt4 book ai didi

python - 将多索引数据帧拆分为 pandas 中的平面数据帧

转载 作者:太空狗 更新时间:2023-10-30 00:28:04 24 4
gpt4 key购买 nike

我在 pandas 中有一个名为 groupt3 的多索引 df,当我输入 groupt3.head() 时它看起来像这样:

                datetime     song   sum   rat
artist datetime
2562 8 2 2 26 0
46 19 19 26 0
47 3 3 26 0
4Hero 1 2 2 32 0
26 20 20 32 0
9 10 10 32 0

我想要一个“平面”数据框,它采用艺术家索引和日期时间索引并“重复”以形成:

artist     date time    song   sum   rat
2562 8 2 26 0
2562 46 19 26 0
2562 47 3 26 0

等...

谢谢。

最佳答案

使用 pandas.DataFrame.to_records() .

例子:

import pandas as pd
import numpy as np
arrays = [['Monday','Monday','Tursday','Tursday'],
['Morning','Noon','Morning','Evening']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['Weekday', 'Time'])
df = pd.DataFrame(np.random.randint(5, size=(4,2)), index=index)

In [39]: df
Out[39]:
0 1
Weekday Time
Monday Morning 1 3
Noon 2 1
Tursday Morning 3 3
Evening 1 2

In [40]: pd.DataFrame(df.to_records())
Out[40]:
Weekday Time 0 1
0 Monday Morning 1 3
1 Monday Noon 2 1
2 Tursday Morning 3 3
3 Tursday Evening 1 2

关于python - 将多索引数据帧拆分为 pandas 中的平面数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22779516/

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