Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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 熊猫:聚合后每组的计数器列_Python_Pandas - Fatal编程技术网

Python 熊猫:聚合后每组的计数器列

Python 熊猫:聚合后每组的计数器列,python,pandas,Python,Pandas,新的熊猫和数据帧在这里! 初始数据帧: A 1238 100 A 1238 90 A 3784 200 A 3784 500 B 1222 274 B 1222 400 C 2747 800 C 1384 100 我需要如下输出:(C列是A列和B列分组数据的最小值,B列是分组数据的序列计数器): 救命啊 如果在输出中更像3列,则使用C每组最小值的索引,请参见: 如果输出中只有3列,则聚合min: df1 = df.groupby(['A','B'], as_index=False

新的熊猫和数据帧在这里! 初始数据帧:

A 1238 100

A 1238 90

A 3784 200

A 3784 500

B 1222 274

B 1222 400

C 2747 800

C 1384 100
我需要如下输出:(C列是A列和B列分组数据的最小值,B列是分组数据的序列计数器):

救命啊

如果在输出中更像
3
列,则使用
C
每组最小值的索引,请参见:

如果输出中只有3列,则聚合
min

df1 = df.groupby(['A','B'], as_index=False, sort=False)['C'].min()
然后通过以下方式创建计数器列:


谢谢@jezrael,这真的很有帮助。如何使用第一种方法添加一列以获得C的最大值?@wizkid Change
df1=df.groupby(['a','B'],as_index=False,sort=False)['C'].min()
df1=df.groupby(['a','B'],as_index=False,sort=False)['C'].agg([('minC','min'),('maxC','max'))]]['C'].min()
df1=df.groupby(['A','B'],sort=False)['C'].agg([('minC','min'),('maxC','max')))。重置索引()
,如果我的答案有用,别忘了-点击复选标记(
),将其从灰显切换为填充。谢谢。
df1 = df.loc[df.groupby(['A','B'], sort=False)['C'].idxmin()]
df1 = df.groupby(['A','B'], as_index=False, sort=False)['C'].min()
df1['B'] = df1.groupby('A').cumcount().add(1)
print (df1)
   A  B    C
1  A  1   90
2  A  2  200
4  B  1  274
6  C  1  800
7  C  2  100