Python 在按熊猫分组的数据帧中是否仍有解分组数据?

Python 在按熊猫分组的数据帧中是否仍有解分组数据?,python,pandas,dataframe,group-by,pandas-groupby,Python,Pandas,Dataframe,Group By,Pandas Groupby,我有一个数据集,为了简单起见,我需要根据一列进行分组和聚合,以便可以轻松删除一些行。完成计算后,我需要通过操作反转组,以便在excel中轻松查看数据帧。如果我不反向操作,我会将整个列表导出到excel,这不容易分析。非常感谢您的帮助 例如: Col1 Col2 Col3 123 11 Yes 123 22 Yes 256 33 Yes 256 33 No 337 00 No 337 44 No 应用groupby和aggregate后: X=d

我有一个数据集,为了简单起见,我需要根据一列进行分组和聚合,以便可以轻松删除一些行。完成计算后,我需要通过操作反转组,以便在excel中轻松查看数据帧。如果我不反向操作,我会将整个列表导出到excel,这不容易分析。非常感谢您的帮助

例如:

Col1  Col2 Col3
123   11   Yes
123   22   Yes
256   33   Yes
256   33   No
337   00   No
337   44   No
应用groupby和aggregate后:

X=dataset.groupby('Col1').agg(lambda x:set(x)).reset_index()
我明白了

然后使用drop删除所有包含Yes的列

X=X.reset_index(drop=True)
在导出到excel之前,我需要得到的是

Col1 Col2 Col3
337   00   No
337   44   No
希望这足够清楚


提前撒克逊人

我不认为转换成一套是个好主意。这里有一个替代方法:首先按
Col3
降序排序,然后创建
Col2:Yes/No
的映射,并根据该映射进行筛选

In [1191]: df = df.sort_values('Col3', ascending=True)

In [1192]: mapping = dict(df[['Col2', 'Col3']].values)

In [1193]: df[df.Col2.replace(mapping) == 'No'] # or df.Col2.map(mapping)
Out[1193]: 
   Col1  Col2 Col3
4   337     0   No
5   337    44   No

我同意COLDSPEED。您不需要转换为设置

df['Temp']=df.Col3.eq('Yes')
DF=df.groupby('Col1')['Temp'].sum()
df[df.Col1==DF.index[DF==0].values[0]].drop('Temp',axis=1)


Out[113]: 
   Col1  Col2 Col3
4   337     0   No
5   337    44   No

X.reset\u索引(drop=True)
不会更改数据帧中的任何内容。不清楚你为什么拥有它,以及你期望它做什么。请包括预期结果。对不起,我的坏意思是:YY=set('Yes')X=X.drop(X[X.Col3==YY].index)这是明智的
replace
谢谢。我想我需要重写我的代码。我处理的列太多,需要修改您的方法以将其应用于我的实际数据。我提供的只是我想做的一个超级简化版本。
df['Temp']=df.Col3.eq('Yes')
DF=df.groupby('Col1')['Temp'].sum()
df[df.Col1==DF.index[DF==0].values[0]].drop('Temp',axis=1)


Out[113]: 
   Col1  Col2 Col3
4   337     0   No
5   337    44   No