我 有 这样 的 话 :
df_columns = {
'firm_ID': [1, 1, 2, 2, 2],
'date_incident' : ['2015-01-01', '2015-01-01', '2016-10-01', '2016-10-01', '2016-10-01'],
'date_meeting' : ['2014-02-01', '2016-03-01', '2015-10-01', '2017-02-01', '2018-11-01'],
}
simple_df = pd.DataFrame(df_columns)
simple_df['date_incident'] = pd.to_datetime(simple_df['date_incident'])
simple_df['date_meeting'] = pd.to_datetime(simple_df['date_meeting'])
simple_df['date_delta'] = simple_df['date_incident'] - simple_df['date_meeting']
中 的 每 一 个
每个 firm _ ID 只有 一 个 date _ incident , 但 每个 firm _ ID 有 多 个 date _ meetings 。 我 需要 一 个 额外 的 列 来 返回 每个 firm _ ID 的 最 小 日期 差值 。 请 注意 , 此 差值 也 可以 为 负 。
因此 , 我 得到 如下 结果 ( 例如 , 对于 firm _ ID = 2 , 最近 的 会议 是 -123 天 之前 ) :
- 谢谢 - 谢谢
1条答案
按热度按时间rks48beu1#
对于转换为天数的时间增量的绝对值最小的行,使用
DataFrameGroupBy.idxmin
,然后通过使用Series.map
进行Map来创建新列: