Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将数值df与布尔df相乘=>;假乘法的结果=np.nan而不是零_Python_Pandas_Boolean_Product - Fatal编程技术网

Python 将数值df与布尔df相乘=>;假乘法的结果=np.nan而不是零

Python 将数值df与布尔df相乘=>;假乘法的结果=np.nan而不是零,python,pandas,boolean,product,Python,Pandas,Boolean,Product,当将数值df与布尔df相乘时,显然True为1,False为0。我想将所有值乘以False设置为np.nan,以便它们与初始数值df中的0值不同。初始数值df中的NaN值当然保持NaN值 所需输出: a b c NaN 0.0 3.0 0.0 NaN NaN 9.0 NaN NaN NaN 3.0 NaN 代码: 这应该行得通 import pandas as pd import numpy as np df = pd.DataFrame({&quo

当将数值df与布尔df相乘时,显然True为1,False为0。我想将所有值乘以False设置为np.nan,以便它们与初始数值df中的0值不同。初始数值df中的NaN值当然保持NaN值

所需输出:

   a    b    c
 NaN  0.0  3.0
 0.0  NaN  NaN
 9.0  NaN  NaN
 NaN  3.0  NaN
代码:

这应该行得通

import pandas as pd
import numpy as np

df = pd.DataFrame({"a": [4,0,9,3],
                   "b": [0,7,np.nan,3],
                   "c": [3,7,np.nan,3]})

boolean = pd.DataFrame({"a": [False,True,True,False],
                        "b": [True,False,True,True],
                        "c": [True,False,False,False]})

boolean[boolean==0]=np.nan

output = df.mul(boolean)
print(output)
import pandas as pd
import numpy as np

df = pd.DataFrame({"a": [4,0,9,3],
                   "b": [0,7,np.nan,3],
                   "c": [3,7,np.nan,3]})

boolean = pd.DataFrame({"a": [False,True,True,False],
                        "b": [True,False,True,True],
                        "c": [True,False,False,False]})

boolean[boolean==0]=np.nan

output = df.mul(boolean)
print(output)