首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在转换为浮动以获得前10个最大值时获得一个错误

在转换为浮动以获得前10个最大值时获得一个错误
EN

Stack Overflow用户
提问于 2020-11-02 20:58:22
回答 2查看 866关注 0票数 0

我试图使用code函数来使用下面的代码返回前10个值,

代码语言:javascript
复制
df['roi'].astype(float).nlargest(3, 'roi')

但是得到了一个错误

代码语言:javascript
复制
ValueError: keep must be either "first", "last" or "all"

roi列是一个对象,这就是为什么我使用astype,但仍然会得到一个错误。

当我在keep函数中尝试= all或filter = first或keep过滤器时,我会得到一个TypeError: nlargest() got multiple values for argument 'keep'错误

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2020-11-02 21:06:08

若要按需要使用该方法,必须将代码更改为:

代码语言:javascript
复制
df.astype(float).nlargest(3, 'roi')

因为这个语法只适用于pandas.DataFrames。如果您想按键指定colum,就像在字典中那样,那么您将使用pandas.Series,正确的语法应该是

代码语言:javascript
复制
df['roi'].astype(float).nlargest(3)

这两种方法的文档分别是这里、DataFrames和这里

票数 2
EN

Stack Overflow用户

发布于 2020-11-02 21:13:37

对于一行代码,您需要首先将"roi“转换为浮点类型,然后执行nlargest

将字典传递给.astype允许我们返回对特定列的dtype进行选择性更改的整个DataFrame,然后我们可以在返回的DataFrame上执行.nlargest (而不是只拥有一个Series)。

代码语言:javascript
复制
df.astype({"roi": float}).nlargest(3, columns="roi")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64653240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档