gpt4 book ai didi

python - Pandas Dataframe 从分组中选择随机行,并找到每个分组的平均值

转载 作者:行者123 更新时间:2023-11-28 21:07:18 25 4
gpt4 key购买 nike

我有一个如下所示的数据框 df:

             ID1       ID2         Bool           Count
0 12868123 387DB71C 0 1
1 12868123 84C0E502 1 11
2 12868123 387DB71C 1 1
8 12868123 80A9DCFC 0 16
9 12868123 7A260136 1 20
10 12868123 80A9DCFC 0 16
11 12868123 80BB4591 0 36
327295 8617B7D9 76A08B0E 0 19
327296 8617B7D9 76A08B0E 0 19
327297 8617B7D9 76D0DA26 1 2
327298 8617B7D9 7C92B2A6 1 3
327299 8617B7D9 75883296 1 1
327300 8617B7D9 78711A4F 0 12
327301 8617B7D9 78711A4F 0 12
327302 8617B7D9 78711A4F 0 12

我想做两件事:

1- 我想为每个 (ID1, Bool) 实例“随机”提取 n 唯一行。因此,如果 n = 2,一个可能的结果可能是:

             ID1       ID2         Bool           Count
0 12868123 387DB71C 0 1
8 12868123 80A9DCFC 0 16
1 12868123 84C0E502 1 11
2 12868123 387DB71C 1 1
327295 8617B7D9 76A08B0E 0 19
327296 8617B7D9 76A08B0E 0 19
327297 8617B7D9 76D0DA26 1 2
327298 8617B7D9 7C92B2A6 1 3

我试着沿着 df.groupby('ID1', 'Bool').random(size=n) 寻找一些东西,但无法弄清楚。

2- 然后我想计算每个 (ID1, Bool) 对的平均 Count。从而最终得到的DF为:

            ID1        Bool           AverageCount
0 12868123 0 8.5
1 12868123 1 6
2 8617B7D9 0 19
3 8617B7D9 1 2.5

我想我已经弄清楚了第二部分:

df.groupby(['ID1','Bool'])['Count'].mean()

最佳答案

groupby + 示例

df.groupby(
['ID1', 'Bool']
).apply(
lambda df: df.sample(2).Count.mean()
).reset_index(name='AverageCount')

enter image description here

关于python - Pandas Dataframe 从分组中选择随机行,并找到每个分组的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41607053/

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