基于另一列中的重复项创建新列

  • 本文关键字:创建 新列 于另一 python
  • 更新时间 :
  • 英文 :


我有一个数据帧,看起来像这样:

合同ID11997年4月5日11997年2月3日22020年8月5日22020年7月8日32020年7月5日32020年8月9日

IIUC,您可以添加一个辅助列和pivot:

(df
.assign(col=df.groupby('Contract_ID').cumcount().add(1))
.pivot(index='Contract_ID', columns='col', values='Agreement_Date')
.add_prefix('Agreement_Date_')
.reset_index().rename_axis(columns=None)
)

输出:

Contract_ID Agreement_Date_1 Agreement_Date_2
0            1       05/04/1997       03/02/1997
1            2       05/08/2020       08/07/2020
2            3       05/07/2020       09/08/2020
a = df.groupby('Contract_ID')['Agreement_Date']
df2 = pd.DataFrame(list(a.apply(list)))
df2['Contract_ID'] = a.groups.keys()

最新更新