python - Python:如何强制熊猫对数据集中的列进行排序?
问题描述
我有以下数据集
df = pd.DataFrame({2002:[None, None, 2, 4, 5],
"Facility":[5, 5, 6, 44, 2],
2003:[None, None, None, 1, 5],
2004 : [ 4,4,3,2,6]})
我需要对列进行排序,为此我使用以下代码
df = df.reindex(sorted(df.columns), axis=1)
但是它抱怨以下错误:
TypeError: '<' not supported between instances of 'str' and 'int'
我知道出现错误是因为 col 名称之一是 str 类型,但我该如何解决这个问题?
我最喜欢的答案有如下排序的列:
'Facility',2002,2003,2004
解决方案
你快到了。
正如您已经提到的,您的 colnames 是 String 和 int 的组合,因此排序不成功。因此,您可以执行以下操作对列进行排序
df.columns.astype(str)
推荐阅读
- ruby - Ruby 将 csv 日期格式化为无效日期(argumentError)
- vba - Microsoft Visio VBA CustomUI 功能区帮助 - 更改 EditBox 的默认值
- sql - 如何在 Laravel Eloquent 中使用 DISTINCT ON
- node.js - 如何删除 MongoDB 中的 ObjectID 数组?
- ios - 单击按钮后如何从tabview中隐藏/删除视图
- charts - 如何使用 billboard.js 制作每日时间表?
- reactjs - 在 store 初始化后立即调度 Redux Saga Actions 而不是 useEffect
- java - 具有不同父级的Java中具有通用控件的HTML绘画
- docker - SonarQube 码头工人不断停止
- javascript - 如果给定域,则返回正确的专有名称