gpt4 book ai didi

python - Pandas 数据框列到分层数据结构?

转载 作者:行者123 更新时间:2023-12-04 04:21:25 25 4
gpt4 key购买 nike

我有一个包含许多列的 Pandas 数据框。一些列可以按层次分组。我想利用这种分组能力将列结构转变为层次结构,以便在机器学习环境中使用。

例子:

我的 pandas 框架有 runobj_iddata 列,它看起来如下:

Index    run    obj_id    data1    data2
0 0 0 1.3134 3.4943
1 0 0 2.3311 5.4434
2 1 0 1.3345 6.9942
3 1 0 3.4422 3.5353
4 0 1 4.2233 0.3112

等等。我想在这里做的是首先为每个 obj_id 训练一个单独的模型。然后我想把run变成batch,也就是每次run都应该看成一个batch。然后 data 列应该是特征。

结果大概是这样的:

X = [ # obj_id: model
[ # run: batch
[ # data_: features
[1.3134, 3.4943],
[2.3311, 5.4434]
],
[
[1.3345, 6.9942],
[3.4422, 3.5353]
]
]

有没有一种简单的方法可以进行这种转换?

最佳答案

不是最好的解决方案,但你可以这样做:

(df.groupby('obj_id')
.apply(lambda x: x.groupby('run')['data1','data2']
.apply(lambda y: y.values.tolist() )
.to_list()
)
.to_list()
)

输出:

[
[
[
[1.3134, 3.4943],
[2.3311, 5.4434]
],
[
[1.3345, 6.9942],
[3.4422, 3.5353]
]
],
[
[
[4.2233, 0.3112]
]
]
]

关于python - Pandas 数据框列到分层数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59197978/

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