交换单个中的多个值

2024-04-24 08:16:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据帧的列标题是ResultA1B1C1A2B2C2。我需要根据特定条件交换DataFrame的某些列值。现在我在做:

idx = (replaced['Result']==0)
replaced.loc[idx,['A1','A2']] = replaced.loc[idx,['A2','A1']].values
replaced.loc[idx,['B1','B2']] = replaced.loc[idx,['B2','B1']].values
replaced.loc[idx,['C1','C2']] = replaced.loc[idx,['C2','C1']].values
replaced.loc[idx,['D1','D2']] = replaced.loc[idx,['D2','D1']].values

我能在一条线上做这个吗?或者有没有其他方法来缩短所有这些线路?你知道吗


Tags: 数据a2标题a1resultb2locb1
1条回答
网友
1楼 · 发布于 2024-04-24 08:16:08

你怎么了

replaced.loc[idx,['A1','A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2']] = replaced.loc[idx,['A2','A1', 'B2', 'B1', 'C2', 'C1', 'D2', 'D1']].values

几乎看起来只要重命名列就可以了,在这种情况下,您可以使用列表理解来切换列名中的数字。你知道吗

相关问题 更多 >