我有一个名为df
的DataFrame
,它有4列,如下所示:
A B C Class
12 13 22 1
8 15 20 1
9 14 25 1
18 9 35 2
5 14 30 2
4 12 28 2
35 87 67 3
35 82 66 3
20 7 32 4
10 8 32 4
22 7 31 4
... ... ... ...
我想要的是找到关于类的每一列的最小值和最大值。换句话说,我希望得到一个类似于下面的结果:
Class: 1
A: [8, 12]
B: [13, 15]
C: [20, 25]
Class: 2
A: [4, 18]
B: [9, 14]
C: [28, 35]
Class: 3
A: [35, 35]
B: [82, 87]
C: [66, 67]
...
另一种方法
df.groupby('Class').apply(lambda x: pd.Series([[min(x.A),max(x.A)],[min(x.B),max(x.B)],[min(x.C),max(x.C)]])).reset_index().rename(columns={0:'A',1:'B',2:'C'})
输出
Class A B C
0 1 [8, 12] [13, 15] [20, 25]
1 2 [4, 18] [9, 14] [28, 35]
2 3 [35, 35] [82, 87] [66, 67]
3 4 [10, 22] [7, 8] [31, 32]
df。groupby(df['Class'])。累计(['min','max'])
我试图找到矩阵中每列的最小值和最大值,但我当前的代码运行不正确。我试图把最小值放在一个新矩阵的第一行,最大值放在下一行,并对每一列这样做。任何帮助都将不胜感激,谢谢!
给定一个向量和一个有序向量,我想要一个向量,其中 ] 等于 中最小元素的索引,以便
问题内容: 我有以下数据框: 我需要以某种方式重塑数据框,以使每个id的前3列具有最高的值。结果将是这样的: 它显示了每本广告的前三名最畅销书。我已经使用R中的包完成了此操作,但是我正在寻找等效的pandas。 问题答案: 您可以用来查找每一行的 n个 最大项的索引: 产量
我记录一个设备,每15分钟读取3个值(,,)。它们可以重复。 我需要找出每小时在该间隔内读取的12个值中最大的3个值是什么。我对它们何时发生不感兴趣,只对它们的值感兴趣。 目前,我的算法还远远不够高效和快速: 在每组中循环: 我想去掉这个循环,使用原生的pandas/numpy方法。可能吗? 编辑:在这篇文章的末尾提出了一个可行的解决方案 以下是代码: 回报: 解决方案 我在代码中实现这个解决方案
我有这样一个数据帧: 我如何摆脱第四行,因为它有sq_resid的最大值?注意:最大值将从一个数据集更改到另一个数据集,所以仅仅删除第4行是不够的。 我已经尝试了一些方法,比如我可以删除像下面这样留下数据帧的最大值,但是无法删除整行。