Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中查找ID的最小值、最大值和平均值_Python_Pandas - Fatal编程技术网

在Python中查找ID的最小值、最大值和平均值

在Python中查找ID的最小值、最大值和平均值,python,pandas,Python,Pandas,我在Python中有两个数据帧。假设第一个是df1。没有必要对id列进行排序 id B C 0 1 5 1 1 1 5 1 2 1 6 1 3 1 7 1 4 2 5 1 5 2 6 1 6 2 6 1 7 3 7 1 8 3 7 1 9 4 6 1 10 4 7 1 11 4 7 1 然后,第二个数据帧df2有一列,其中包含id id 0 1 1 2 2 3 3 4

我在Python中有两个数据帧。假设第一个是
df1
。没有必要对id列进行排序

   id  B  C
0   1  5  1
1   1  5  1
2   1  6  1
3   1  7  1
4   2  5  1
5   2  6  1
6   2  6  1
7   3  7  1
8   3  7  1
9   4  6  1
10  4  7  1
11  4  7  1
然后,第二个数据帧
df2
有一列,其中包含
id

   id
0   1
1   2
2   3
3   4
我想为每个
id
计算列
B
的最小值、最大值和平均值,并将其添加到第二个数据帧中。结果如下:

   id  min  max  avg
0   1   5    7   5.75
1   2  ..
2   3  ..
3   4  ..

在这个例子中,我能够通过为每个
id
手册计算它们来复制它。这不是问题,因为示例只有4个ID。但我的真实示例有1000多个ID。有没有什么自动方法可以做到这一点?

对组使用
agg
功能

In [96]: df.groupby('id')['B'].agg([pd.np.min, pd.np.max, pd.np.mean])
Out[96]:
    amin  amax      mean
id
1      5     7  5.750000
2      5     6  5.666667
3      7     7  7.000000
4      6     7  6.666667

你可以只做
df.groupby('id')['B'].agg(['min','max','mean'])
这里是真的,我给了你一个提示,你可以使用numpy funcs到agg。我想在你尝试哪个UFUNC已经从字符串映射到它们的np等价物之前,很难知道