在列中无限期重复函数,直到值达到一定水平

秃鹫

我有这个数据框:

  grade   type
0 402     A
1 312     B
2 321     C
...

如果类型是 A 并且等级列中的值高于 100,我想无限期地乘以 0.7,直到它的值低于 100。我没有找到一个好的方法,现在我正在使用这段代码如下:

df.loc[(df['type'] == 'A') & (df['grade'] > 100),'grade'] = df['grade']*0.7
(I repeat that 100 times and cross my fingers for 'grade' to be below 100)

我可以这样做几次,如果没有达到,我会强制为 100,但是我不想在 df 中有很多相等的值,而且我也不能在其中放入随机组件.

有没有更好的方法来做到这一点(最好使用 Pandas)?

西多姆

您可以使用np.log(自然对数)计算所需的功率,您可以使用它进一步计算降低以下值所需的乘数100

df.loc[df.type.eq('A') & df.grade.gt(100), 'grade'] = df.grade * np.power(0.7, np.floor(np.log(100 / df.grade) / np.log(0.7)) + 1)

df
#      grade type
#0   96.5202    A
#1  312.0000    B
#2  321.0000    C

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无限期地重复一个函数,最好不使用setInterval()

来自分类Dev

异步回调函数中的节点对象分配无限期挂起

来自分类Dev

JS-在字符串中创建空格,直到达到一定宽度

来自分类Dev

PostgreSQL选择直到达到一定的总数并锁定

来自分类Dev

等待文件句柄,直到达到一定大小

来自分类Dev

写入文件直到达到一定大小

来自分类Dev

内部重复函数中的变量保留了旧值

来自分类Dev

abort()无限期挂起

来自分类Dev

getimagesize无限期挂起

来自分类Dev

getimagesize无限期挂起

来自分类Dev

无限期运行服务

来自分类Dev

线程在MVar操作中无限期阻塞

来自分类Dev

无限期在背景中播放心率?

来自分类Dev

NodeJS:无限期地获取文件中的更改

来自分类Dev

如何通过在一行中搜索一定范围的列,直到在VBA中包含文本的最后一行来删除重复项?

来自分类Dev

Select系统调用无限期地挂在一个w / w应用程序中。

来自分类Dev

在达到一定值后删除Pandas DF中的行的最佳方法是什么?

来自分类Dev

在达到一定值后删除Pandas DF中的行的最佳方法是什么?

来自分类Dev

互相重复列表的元素,直到达到一定长度

来自分类Dev

达到一定值时重置累计

来自分类Dev

无限期地在Ruby on Rails中使用Heroku重复运行代码

来自分类Dev

避免在jquery中重复函数调用?

来自分类Dev

在 Swift 中运行重复函数

来自分类Dev

HandlerThread.getLooper()无限期阻塞

来自分类Dev

如何使ZombieJS无限期等待站点

来自分类Dev

Linq然后无限期运行

来自分类Dev

Python virtualenvwrapper:“ workon”无限期挂起

来自分类Dev

Python time.sleep无限期

来自分类Dev

JavaFX RotateTransition无限期暂停

Related 相关文章

热门标签

归档