Python 如何分配dataframe[boolean Mask]=系列-按行分配?也就是说,其中Mask=true从序列的同一行获取值

Python 如何分配dataframe[boolean Mask]=系列-按行分配?也就是说,其中Mask=true从序列的同一行获取值,python,pandas,Python,Pandas,我有一个数据帧、布尔掩码(例如boolMask=df我认为您需要: df=pd.DataFrame([[1,2],[3,4],[5,0]] 打印(df) 0 1 0 1 2 1 3 4 2 5 0 ser=pd.系列([10,20,30]) boolMask=df再次非常感谢您!它真的很有效!(在我的情况下,我需要axis=0)。我会在允许的时间内接受答案-5分钟…您能看一下吗: df[ boolMask ] = ser df = pd.DataFrame([[1, 2 ], [

我有一个数据帧、布尔掩码(例如boolMask=df我认为您需要:

df=pd.DataFrame([[1,2],[3,4],[5,0]]
打印(df)
0  1
0  1  2
1  3  4
2  5  0
ser=pd.系列([10,20,30])

boolMask=df再次非常感谢您!它真的很有效!(在我的情况下,我需要axis=0)。我会在允许的时间内接受答案-5分钟…您能看一下吗:
df[ boolMask ] = ser
df = pd.DataFrame([[1, 2 ], [3, 4], [5 , 6]] ) 
ser = pd.Series([1, 2, 3 ])
boolMask = df <= 1
 df[boolMask]= ser
df = pd.DataFrame([[1, 2 ], [3, 4], [5 , 0]] ) 
print (df)
   0  1
0  1  2
1  3  4
2  5  0

ser = pd.Series([10, 20, 30 ])
boolMask = df <= 1

print (boolMask)
       0      1
0   True  False
1  False  False
2  False   True

#replace first and second value of ser - row processing
df1 = df.mask(boolMask, ser, axis=1)
print (df1)
    0   1
0  10   2
1   3   4
2   5  20

#replace first and third value of ser - column processing
df2 = df.mask(boolMask, ser, axis=0)
print (df2)
    0   1
0  10   2
1   3   4
2   5  30