Сравните столбец по Series.eq
для ==
и используйте GroupBy.transform
с GroupBy.all
для проверки, все ли значения равны True
с по группам, затем сравните Customer
по Series.duplicated
с keep=False
для возврата всех дупликов. Последняя цепочка вместе поразрядно AND
(&
) и установить значения по numpy.where
:
m1 = df['Status'].eq('canceled').groupby(df['Customer']).transform('all')
m2 = df['Customer'].duplicated(keep=False)
df['new_status'] = np.where(m1 & m2, 'cancelled', '')
print (df)
Customer Status new_status duplicated
0 X canceled 0
1 X canceled 1
2 X active 2
3 Y canceled 0
4 A canceled cancelled 0
5 A canceled cancelled 1
6 B active 0
7 B canceled 1
Необходимо поместить файлы конфигурации в
/path/to/deployed_app/shared
Затем в capistrano задаче, символьной ссылке на те файлы:
namespace :deploy do
task :symlink_shared do
run "ln -s #{shared_path}/database.yml #{release_path}/config/"
end
end
before "deploy:restart", "deploy:symlink_shared"