Python 将数值df与布尔df相乘=>;假乘法的结果=np.nan而不是零
当将数值df与布尔df相乘时,显然True为1,False为0。我想将所有值乘以False设置为np.nan,以便它们与初始数值df中的0值不同。初始数值df中的NaN值当然保持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
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)