如果dataframe元素不同,则分配值

时间:2014-03-18 20:21:58

标签: r pandas dataframe compare

以下R命令的等效Python / Pandas是什么?

matrix1[!matrix2] <- 0

目标是比较两个矩阵,如果元素不同,则应分配零。

1 个答案:

答案 0 :(得分:1)

您可以使用DataFrame where方法:

In [11]: df1 = pd.DataFrame([[1, 2], [3, 4]])

In [12]: df2 = pd.DataFrame([[1, 2], [3, 5]])

In [13]: df1.where(df1 == df2, 0)
Out[13]: 
   0  1
0  1  2
1  3  0

在现场执行此操作(修改df):

In [14]: df.where(df==df1, 0, inplace=True)