Troque os valores nas colunas e linhas sob condições específicas [duplicado]
Eu tenho o seguinte dataframe do pandas:

e quero verificar se o valor da coluna 'A start'
é negativo. Se negativo do que os valores de troca em coluna 'start'
e 'end'
e em colunas 'A start'
e 'A end'
na linha onde a
'A start'
tem um valor negativo. Portanto, o resultado deve ser:

Tentei resolver com where
mas não funcionou.
Estou usando o python 3.8.
Muito obrigado por sua ajuda.
Respostas
Ei, olhe para este post é semelhante à sua pergunta, pode ajudar! Se não me avise podemos procurar outras opções.
Qual é a sintaxe correta para trocar valores de coluna por linhas selecionadas em um quadro de dados do pandas usando apenas uma linha?
Aqui está o método mais simples usando where
df = pd.DataFrame()
df['start'] = [1,5,7,2]
df['end'] = [4,6,8,9,]
df['A start'] = [234, -475, -765, 113]
df['A end'] = [-654, 312, 987, -553]
df[['A start','A end']] = df[['A end','A start']].where(df['A start'] < 0 , df[['A start','A end']].values)
df
Resultado:
