python - sort_value pandas 函数的问题,要求“by”,但给出时,会说意外的参数
问题描述
我试图在转置后对我的数据框进行排序。转置进展顺利。尝试对值进行排序时,它说
sort_values() 缺少 1 个必需的位置参数:'by'
当我提到 by 论点时,它说
sort_values() 得到了一个意外的关键字参数“by”
这是我尝试应用 sort_values 的数据框
top_dict = {}
for c in data.columns:
top = data[c].sort_values(axis=0, ascending=False, inplace=False, kind='quicksort', na_position='last').head(30)
top_dict[c]= list(zip(top.index, top.values))
奇怪的是,在没有 for 循环的情况下, sort_value 与 by command 配合得很好。在循环运行时,会发生这种情况
这是我见过的最奇怪的。任何人都可以帮助我理解这一点并指出我的解决方案
解决方案
我看到您对一列进行排序只是为了获取前 30 个值(也就是 30 个最大值)。我可以建议Series.nlargest
做同样的事情,但以稍微更高性能的方式吗?
top_dict = {}
for c in data.columns:
top = data[c].nlargest(30)
top_dict[c]= list(zip(top.index, top.values))
推荐阅读
- python-3.x - 即使迭代器被操作,嵌套的 for 循环也会重置迭代器
- corda - 如何隐藏 node.conf 中的敏感数据?
- typescript - 为具有许多字段的对象使用 JSON.parse 时分配类型
- c++ - 在 cmd 中使用带有新 ubuntu 的系统命令
- powershell - 在 Powershell 中添加 NuGet
- python - ValueError:检查目标时出错:预期激活具有形状(1,)但得到的数组具有形状(2,)
- graph - 照片检索问题
- owl - OWL:个体与类的对象属性函数之间的差异
- segmentation-fault - 如何使用错误的回溯来调试 fortran 中的代码?
- javascript - Twilio 不在 Firebase 云功能中发送短信