我有 df; ID YEART Commdate Cat Category0 LVI6AE2 1993 2017-03-24 LVI6AE2_1 561 LVI6BE2 1994 2017-03-24 LVI6BE2_1 672 APJ5LEV 1975 2017-03-13 APJ5LEV_1 783 LQL0AE3 1986 2017-03-16 LQL0AE3_1 874 BLR3UEV 1982 2017-03-15 BLR3UEV_1 905 BRL1NEV 1981 2017-03-15 BRL1NEV_1 906 BRL1NEV 1981 2017-03-16 BRL1NEV_1 907 BRL1NEV 1981 2017-03-22 Ungrouped 1908 BRL1NEV 1981 2017-03-17 Ungrouped 1909 BRL1NEV 1981 2017-03-17 Ungrouped 19010 BRL1NEV 1981 2017-03-22 Ungrouped 19011 BRL1NEV 1981 2017-03-20 BRL1NEV_1 9012 BRL1NEV 1981 2017-02-01 BRL1NEV_1 9013 UEE6JSV 2000 2017-03-15 UEE6JSV_1 3414 UGQ4VE2 1993 2014-07-25 UGQ4VE2_1 4515 UTU6BE1 1986 2017-03-13 UTU6BE1_1 1216 NVT 1999 2017-03-10 NVT_1 1217 OTL3JE1 2001 2017-02-01 OTL3JE1_1 1218 OTL5XS1 2003 2017-03-01 OTL5XS1_1 1219 OTL6AE1 2001 2017-03-01 OTL6AE1_1 1220 JVU6AE1 1999 2017-03-31 JVU6AE1_1 1221 JVU6AE2 1993 2017-03-31 Ungrouped 120只有當(dāng)它們屬于未分組的“貓”或類別 >100 時(shí),我才想計(jì)算每個(gè)具有類似“ID”和“YEART”的組中最早的“Commdate”我想出了以下行#To Datetimedf['Commdate'] =pd.to_datetime(df['Commdate'])#groupbydf["EarliestD"] =df.groupby(['ID', 'YEART']).filter(lambda x : x['Category'].count()>=90)['Commdate'].min()結(jié)果為“EarliestD”返回“NaT” ID YEART Commdate Cat Category EarliestD0 LVI6AE2 1993 2017-03-24 LVI6AE2_1 56 NaT1 LVI6BE2 1994 2017-03-24 LVI6BE2_1 67 NaT2 APJ5LEV 1975 2017-03-13 APJ5LEV_1 78 NaT3 LQL0AE3 1986 2017-03-16 LQL0AE3_1 87 NaT4 BLR3UEV 1982 2017-03-15 BLR3UEV_1 90 NaT題;1.如果滿足不同列中的條件,是否可以使用多列進(jìn)行條件分組?如果可能如何? 2.是否可以將多個(gè)條件分組調(diào)用到def函數(shù)中?
如果使用 groupby 方法滿足另一列中的條件,則使用多列進(jìn)行條件過濾
慕標(biāo)琳琳
2021-10-10 15:20:20