根据条件更新两个数据框列

萨凡·迪瓦瓦尔(Savan Disawal)

我有一个数据框,列为“ PK”,“ Column1”,“ Column2”。我要更新Column1和Column2如下:

If Column1 > Column2 then (Column1 = Column1 - Column2) and at the same time Column2 = 0

相似地

If Column1 < Column2 then (Column2 = Column2 - Column1) and at the same time Column1 = 0

我尝试了以下操作,但未给出预期结果:

df["Column1"] = np.where(df['Column1'] > df['Column2'], df['Column1'] - df['Column2'], 0)
df["Column2"] = np.where(df['Column1'] < df['Column2'], df['Column2'] - df['Column1'], 0)
耶斯列尔

使用DataFrame.assign为避免测试自动覆盖列Column1在你的代码的第二行:

df = pd.DataFrame({
         'Column1':[4,5,4,5,5,4],
         'Column2':[7,8,9,4,2,3],

})
print (df)
   Column1  Column2
0        4        7
1        5        8
2        4        9
3        5        4
4        5        2
5        4        3

a = np.where(df['Column1'] > df['Column2'], df['Column1'] - df['Column2'], 0)
b = np.where(df['Column1'] < df['Column2'], df['Column2'] - df['Column1'], 0)

df = df.assign(Column1 = a, Column2 = b)
print (df)
   Column1  Column2
0        0        3
1        0        3
2        0        5
3        1        0
4        3        0
5        1        0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

合并两个数据框:专门根据两个条件合并选定的列?

根据其他两个数据框列中的值条件创建新列

根据条件合并两个数据框

根据条件从两个数据框中提取值

根据多个条件连接两个数据框

根据条件合并熊猫中的两个数据框

根据条件合并两个数据框

根据两列的交集绑定两个数据框

根据第三列中的条件合并两个数据框

如何比较两个数据框并根据条件填充列值?

根据索引和列连接两个数据框

根据两个数据框列建立计数通道

如何根据特定列串联两个数据框?

根据列中的值比较两个数据框

如何根据每个数据框中两个不同日期列的日期条件合并两个数据框?

熊猫:根据两个条件匹配加入两个数据框

Python数据框:根据条件合并两个数据框(熊猫)

比较两个数据框并根据某些条件创建新的数据框

根据两个数据框之间的参考列将 ID 列附加到数据框

根据来自两个数据框和多个条件的条件创建一对

根据数据框中的ID比较两个数据框列

根据应用于两个数据框的条件创建第三个数据框

两个数据框的列与Pandas数据框之间的条件映射

根据另一个数据框的列值替换两个数据框列的值

比较两个数据框列

如何根据不同的条件合并或合并两个数据框?

如何根据多个条件和 id 合并两个数据框

根据熊猫中的特定条件合并两个数据框

根据条件从两个数据框中合并并选择行