gpt4 book ai didi

python - 比较具有相同 id 的 Pandas 数据帧的几个值

转载 作者:行者123 更新时间:2023-12-03 23:05:35 26 4
gpt4 key购买 nike

我有一个具有这种结构的 df:

         paramter    names   ids
0 0.008 t 1
1 0.349 P1 1
2 0.120 P2 1
3 0.008 t 2
4 0.349 P1 2
5 0.120 P2 2
6 0.209 t 3
7 0.349 P1 3
8 0.200 P2 3
9 0.209 t 4
10 0.349 P1 4
11 0.200 P2 4
... ... ... ...
3000
我想为每个元素提取具有给定 id 的 P1、P2、t 的参数。如果一个元素的所有参数与另一个元素的所有参数相同,那么我想将它们添加到同一个列表中。这里 1,2 将在同一个列表中,而 3,4 在另一个列表中,因为 1 的所有三个值对应于 2,而 3 的所有三个值对应于 4。
我不知道我有多少不同的元素,所以我不知道我需要多少列表。

最佳答案

使用 pivot使用索引 reshape 数据框 id , 列为 names和值为 parameter ,然后使用 groupbyP1, p2, t并在列表理解中收集属于同一组的 id:

df1 = df.pivot('ids', 'names', 'paramter').reset_index()
ids = [g['ids'].tolist() for _, g in df1.groupby(['P1', 'P2', 't'])]
细节:
print(df1)
names ids P1 P2 t
0 1 0.349 0.12 0.008
1 2 0.349 0.12 0.008
2 3 0.349 0.20 0.209
3 4 0.349 0.20 0.209

print(ids)
[[1, 2], [3, 4]]

关于python - 比较具有相同 id 的 Pandas 数据帧的几个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62957819/

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