2024-10-02 00:33:47 发布
网友
我有一个dataframe,我想按两列分组,然后按第三列排序,然后从每组中选择第一行。这是我用的密码
first= df.groupby(['EMPLID','EMPL_RCD']).apply(lambda x: x.sort_values(by = ['EFFDT','EFFSEQ'], ascending = True)).first()
但是我在运行它时遇到了以下错误
这里少了什么?在
您可以sort_values然后drop_duplicates:
sort_values
drop_duplicates
res = df.sort_values(['EFFDT','EFFSEQ'])\ .drop_duplicates(subset=['EMPLID','EMPL_RCD'])
或者,您可以排序,然后使用groupby+first:
groupby
first
您的代码无法工作,因为您将first应用于数据帧而不是GroupBy对象。您需要将first作为聚合函数传递给groupby。在
GroupBy
您可以
sort_values
然后drop_duplicates
:或者,您可以排序,然后使用
^{pr2}$groupby
+first
:您的代码无法工作,因为您将
first
应用于数据帧而不是GroupBy
对象。您需要将first
作为聚合函数传递给groupby
。在相关问题 更多 >
编程相关推荐