Skip to main content
 首页 » 编程设计

python之其中数据帧 1 等于 x 更改数据帧 y

2025年05月04日24soundcode

我有两个数据框:

第一个:

a = {'Price': [10, 15, 20, 25, 30], 'Total': [10000, 12000, 10000, 11000, 10000], 
     'Previous Quarter': [9000, 10000, 12000, 15000, 14000]} 
a = pd.DataFrame(a) 
print (a) 

第二个是:

b = {'Price': [0, 94, 82, 16, 31], 'Total': [0, 900, 11000, 11000, 14000], 
     'Previous Quarter': [0, 11000, 11000, 14000, 17000]} 
b = pd.DataFrame(b) 
print (b) 

当数据帧“b”等于零时,如何将数据帧“a”中的值替换为零?

所以我想要的输出是

a = {'Price': [0, 15, 20, 25, 30], 'Total': [0, 12000, 10000, 11000, 10000], 
 'Previous Quarter': [0, 10000, 12000, 15000, 14000]} 
a = pd.DataFrame(a) 
print (a) 

请您参考如下方法:

因为它们有相同的索引,所以这是可行的:

a[b==0] = 0 

另一种写法:

a.where(b!=0, 0)