我有一个5列的数据框。一列包含Account
数字和其他四个有日期(Billing
,Billing1
,Billing2
,Billing3
)。我需要创建一个新列,其中包含这四列之间的最新日期。
如何从四个不同的列中选择最新日期?
dates_dict = {'Account':{0: '1', 1: '2', 2: '3', 3: '4', 4: '5'},'Billing':{0: np.nan, 1: Timestamp('2014-06-23 00:00:00'), 2: Timestamp('2014-06-23 00:00:00'), 3: Timestamp('2014-06-23 00:00:00'), 4: np.nan}, 'Billing 1': {0: np.nan, 1: Timestamp('2015-06-23 00:00:00'), 2: Timestamp('2014-06-23 00:00:00'), 3: Timestamp('2015-06-23 00:00:00'), 4: np.nan}, 'Billing 2': {0: np.nan, 1: Timestamp('2016-06-23 00:00:00'), 2: Timestamp('2015-06-23 00:00:00'), 3: Timestamp('2016-06-23 00:00:00'), 4: np.nan}, 'Billing 3': {0: np.nan, 1: Timestamp('2017-06-23 00:00:00'), 2: Timestamp('2016-06-23 00:00:00'), 3: Timestamp('2017-06-23 00:00:00'), 4: np.nan}}
dates_df = pd.DataFrame(dates_dict)
只需将max函数逐列应用于列的子集:
cols = [x for x in dates_df.columns if 'billing' in x.lower()]
dates_df['most_recent_date'] = dates_df[cols].max(axis=1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句