我想采用 pandas 数据框,按一列对其进行分组,按另一列对其进行排序,并从第三列中获取第一个元素并填充原始数据框。
这是我原来的 df.我将按 col_1 分组,按 col_2 (升序)排序,并从 col_3 中取出第一个元素并用结果填充 col_4 。
df_in = pd.DataFrame({'col_1':['A', 'A', 'A', 'B', 'B', 'B'], 'col_2': [5,9,2, 3,7,1],
'col_3': ['c','d','k','n','l','f']})
[![original_df[1]](https://i.stack.imgur.com/dcADA.jpg)
输出 df 应该是这样的:
df_out = pd.DataFrame({'col_1':['A', 'A', 'A', 'B', 'B', 'B'], 'col_2': [5,9,2, 3,7,1],
'col_3': ['c','d','k','n','l','f'], 'col_4': ['k','k','k','f','f','f'], })
我可以使用group和transform完成分组和排序,但如何提取第一个元素尚不清楚。
抱歉,SO 无法正确显示图像;-(