gpt4 book ai didi

python - 根据另一个数据帧中的 boolean 值设置一个数据帧中的值

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:29 26 4
gpt4 key购买 nike

我有一个 MWE,可以使用以下代码重现:

import pandas as pd
a = pd.DataFrame([[1,2],[3,4]], columns=['A', 'B'])
b = pd.DataFrame([[True,False],[False,True]], columns=['A', 'B'])

这会创建以下数据框:

In [8]: a
Out[8]:
A B
0 1 2
1 3 4

In [9]: b
Out[9]:
A B
0 True False
1 False True

我的问题是,如何更改数据框 A 的值基于数据帧 B 中的 boolean 值?

例如,如果我想做 NAN数据框中的值 A其中有一个 False 的实例在数据框中B

最佳答案

如果需要将False替换为NaN:

print (a[b])
A B
0 1.0 NaN
1 NaN 4.0

或者:

print (a.where(b))
A B
0 1.0 NaN
1 NaN 4.0

如果需要,请将 True 替换为 NaN:

print (a[~b])
A B
0 NaN 2.0
1 3.0 NaN

或者:

print (a.mask(b))
A B
0 NaN 2.0
1 3.0 NaN

您也可以使用wheremask具有一些标量值:

print (a.where(b, 7))
A B
0 1 7
1 7 4

print (a.mask(b, 7))
A B
0 7 2
1 3 7

print (a.where(b, 'TEST'))
A B
0 1 TEST
1 TEST 4

关于python - 根据另一个数据帧中的 boolean 值设置一个数据帧中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39853718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com