热线电话:13121318867

登录
2019-03-05 阅读量: 741
以'权重'列来计算'因子'列

我试图通过将0.25除以'权重'列来计算'因子'列,只要“权重”列中的值高于0.25,否则我想将其设置为1。

我有以下数据框,其中'Factor'列为预期输出:

Weight Factor

Date Symbol

1/1/2017 BTC 0.9 0.27

ETH 0.07 1

XRP 0.03 1

1/2/2017 BTC 0.8 0.31

ETH 0.07 1

XRP 0.03 1

这是我到目前为止所拥有的,但我无法将其设置为1。

df['Factor'] = 0.25/df['Weight'].loc[df['Weight']>0.25]

解决办法:一个快速的解决方案是适用。

df['Factor'] = df['Weight'].apply(lambda weight: 0.25 / weight if weight > 0.25 else 1)

对df ['weight']中的所有行应用迭代,并将它们中的每一行用作执行操作的匿名lambda函数的输入。

或者,您也可以将因子默认设置为1并获取代码。

df['Factor'] = 1

df['Factor'].loc[loc[df['Weight']>0.25]] = 0.25/df['Weight'].loc[df['Weight']>0.25]

7.7757
3
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子