如果对应元素为False,则将Pandas Data Frame元素设置为0

时间:2014-03-18 21:23:07

标签: replace pandas boolean dataframe

我有两个数据帧:

df0:
A  B  C
x  y  z
m  n  o
h  i  j

df1:
False False False
False True False
False False False

我想得到一个&#34;。&#34;只有当df1中的相应元素为True时才<:p>

df0:
A  B  C
.  .  .
.  n  .
.  .  .

1 个答案:

答案 0 :(得分:4)

您可以使用pandas.where

In [139]: df0 = pd.DataFrame([list('xyz'),list('mno'),list('hij')], columns=list('ABC'))
In [143]: df1 = pd.DataFrame([(False,False,False),(False,True,False),(False,False,False)])
In [153]: df0.where(df1.values, other='.')
Out[153]: 
   A  B  C
0  .  .  .
1  .  n  .
2  .  .  .

[3 rows x 3 columns]