Pandas 在2个数据帧之间切换条件
我有两个数据帧df1和df2 df1 df2 两个数据帧具有相同的维度。我想说,如果df2中的值是0,那么根据df1中的列和索引a 0给出该值 因此,df1将是 df1 使用: 要获得更好的性能,请使用: 使用: 要获得更好的性能,请使用: 使用: 使用: 另一种方式-Pandas 在2个数据帧之间切换条件,pandas,dataframe,Pandas,Dataframe,我有两个数据帧df1和df2 df1 df2 两个数据帧具有相同的维度。我想说,如果df2中的值是0,那么根据df1中的列和索引a 0给出该值 因此,df1将是 df1 使用: 要获得更好的性能,请使用: 使用: 要获得更好的性能,请使用: 使用: 使用: 另一种方式- df1 = df1[~df2.eq(0)].fillna(0) 另一种方式- df1 = df1[~df2.eq(0)].fillna(0) 哇,这比我试图设置的if语句更干净。感谢you@jezrael它应该是np.whe
df1 = df1[~df2.eq(0)].fillna(0)
另一种方式-
df1 = df1[~df2.eq(0)].fillna(0)
哇,这比我试图设置的if语句更干净。感谢you@jezrael它应该是np.wheredf2==0,0,df1.wow,这比我试图设置的if语句更干净。感谢you@jezrael它应该是np.wheredf2==0,0,df1。
A B C
0 11 22 55
1 0 0 54
2 0 34 66
df1 = df1.mask(df2 == 0, 0)
df1 = pd.DataFrame(np.where(df2 == 0, 0, df1),
index=df1.index,
columns=df1.columns)
print (df1)
A B C
0 11 22 55
1 0 0 54
2 0 34 66
df1 = df1.where(df2.ne(0), 0)
print(df1)
A B C
0 11 22 55
1 0 0 54
2 0 34 66
df1 = df1[~df2.eq(0)].fillna(0)