Python 如何从数据集中的多个列中选择最近的日期?

Python 如何从数据集中的多个列中选择最近的日期?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个5列的数据框。一列包含科目编号,另外四列包含日期(计费,计费1,计费2,计费3)。我需要创建一个新列,其中包含这四列之间的最近日期 如何从四个不同的列中选择最近的日期 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

我有一个5列的数据框。一列包含
科目
编号,另外四列包含日期(
计费
计费1
计费2
计费3
)。我需要创建一个新列,其中包含这四列之间的最近日期

如何从四个不同的列中选择最近的日期

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)
用于:


无法创建
日期\u df
<代码>名称错误:名称“时间戳”未定义@MayankPorwal,请尝试从熊猫导入时间戳将其更改为“计费”
In [1183]: cols = dates_df.filter(like='Billing').columns
In [1185]: dates_df['max_date'] = dates_df[cols].max(1)

In [1186]: dates_df
Out[1186]: 
  Account    Billing  Billing 1  Billing 2  Billing 3   max_date
0       1        NaT        NaT        NaT        NaT        NaT
1       2 2014-06-23 2015-06-23 2016-06-23 2017-06-23 2017-06-23
2       3 2014-06-23 2014-06-23 2015-06-23 2016-06-23 2016-06-23
3       4 2014-06-23 2015-06-23 2016-06-23 2017-06-23 2017-06-23
4       5        NaT        NaT        NaT        NaT        NaT