我有一个带有日期和 ID(已排序)的数据框。
> date id newid (expected result)
> 2019-01-01 10:00 1 20190101000001-A
> 2019-01-01 11:00 1 20190101000002-A
> 2019-01-01 12:00 1 20190101000003-A
> 2019-01-01 19:00 2 20190101000001-A
> 2019-01-02 09:00 2 20190102000001-A
> 2019-01-02 10:00 2 20190102000002-A
> 2019-01-05 15:00 3 20190103000001-A
def create_new_id(params):
if (previous_date != recent_date) or (previous_id != recent_id):
new_id = 'date000001-A'
if (previous_date == recent_date) and (previous_id == recent_id):
new_id = previous_new_id + 1# (change date000001-A to date000002-A)
return new_id
作为示例数据,我想通过创建一个条件来检查以前的值来生成一个新的 id。
我试着用这个
df['newid ] = df.rolling(window=2).apply(create_new_id)
但我不知道正确的使用方法。
隔江千里
相关分类