Точно так же, если ваши данные хранятся как объект datetime
, ваша соответствующая функция - x['date'] = x['date'].replace(2016)
, а ваше состояние - x['date'].year == 2014
. После предыдущего ответа однострочник будет выглядеть так: это:
df['date'] = df.apply(lambda x: x['Date'].replace(2014) if x['ID'] == 3 and x['date'].year == 2016 else x['date'], axis=1)`
Вообще, я бы рекомендовал работать с datetime
для дат и времени.
Вот очень быстрый набор моделей, которые должны выполнить Ваши требования:
class User < ActiveRecord::Base
has_many :group_memberships
has_many :groups, :through => :group_memberships
end
class GroupMembership < ActiveRecord::Base
belongs_to :user
belongs_to :role
belongs_to :group
end
class Role < ActiveRecord::Base
has_many :group_memberships
end
class Group < ActiveRecord::Base
has_many :group_memberships
has_many :users, :through > :group_memberships
end
В основном существует объединяющая таблица, которая имеет пользователя, группу и ролевой идентификатор в ней. Я оставлю миграции как осуществление для корреспондента