【发布时间】:2020-02-11 08:20:06
【问题描述】:
我需要清理一个数据集,因为b 不能大于a,所以有一些列有错误,因为它们的值被交换,我创建了一个名为wrong_data 的列,它有一个 True 值任何时候发生这种情况:
df['wrong_data'] = (df['a'] < df['b'] )
现在我想在满足条件时交换a 和b 中的数据,所以只要wrong_data = true 成立。
到目前为止,我已经尝试过:
df.at[wrong_data = true, 'a'] = b
df.at[wrong_data = true, 'b'] = a
但显然语法是错误的,我不知道如何处理它。
【问题讨论】:
-
您可以对我认为的简单解决方案进行排序 -
df[['a','b']] = np.sort(df[['a','b']],axis=1)[:,::-1]。
标签: python pandas numpy jupyter-notebook