假设我有一个带有数字列"A", "B", "C"...
的数据帧df
,还有一个布尔列"DEFAULT"
。我还有一个特殊列的列表,例如special = ["A", "D", "E", "H", ...]
,以及相应的默认值列表:default = [a, d, e, h, ...]
。我想做的是:对于DEFAULT
是True
的每一行,用相应的默认值替换特殊列的值。在
当然,我可以手动循环数据帧,但这很难看,而且可能很慢。在
我试过各种直观的方法,比如:
df[df.DEFAULT][special] = default
或者
^{pr2}$但我的尝试都没有成功。我也读过很多类似的问题,但似乎没有一个对我有用。对不起,如果我错过了正确的那个。在
输入数据示例:
df = pd.DataFrame(np.random.rand(10,10))
df.columns = list('ABCDEFGHIJ')
df["DEFAULT"] = [False,False,True,False,True,False,False,True,True,False]
special = list("ADGI")
default = [1,2,3,4]
我想您可以先用列表},然后用列名称替换{}中所需的值,最后用
special
和default
创建{dictionary
替换它们:试试这个:
如果我正确地理解了您的问题,您只需要^{} (
ix
也可以):对于分配:
^{pr2}$相关问题 更多 >
编程相关推荐