python - 按原样对数据帧行进行排序,没有索引问题
问题描述
我有一个这样的数据框:
col1
0 A
1 A
2 B
3 A
.
.
9 C
10 D
11 A
.
.
19 B
20 A
21 B
22 D
当我使用df.sort_values(by=['col1'])
它时,它会给我一个这样的数据框:
col1
0 A
1 A
11 A
20 A
3 A
19 B
2 B
.
.
.
我希望我的值使用正确的索引按顺序排序,而不是在 3 之前的索引 11 或 20:
col1
0 A
1 A
3 A
11 A
20 A
2 B
19 B
.
.
.
我试过ignore_index=True
了,但它只更正了索引,排序的行仍然是错误的。
解决方案
用于kind="mergesort"
稳定排序:
print(df.sort_values(by="col1", kind="mergesort"))
印刷:
col1
0 A
1 A
3 A
11 A
20 A
2 B
19 B
21 B
9 C
10 D
22 D
推荐阅读
- python - TF 训练模型的冻结图 - AssertionError:dense_7/BiasAdd_1 不在图中
- javascript - 如何在 TypeScript 中进行投影?
- firebase - 具有多个 Firebase 项目的单一反应本机应用程序(相同的 SHA 证书指纹)
- python - Django 无法迁移到新数据库
- javascript - if 语句满足多个条件但在第一个匹配的条件处停止
- python - 如何修复 PyQt6-tools 安装错误?
- javascript - 如何更新由 EntityAdapter redux 组成的嵌套对象?
- docker - AdGuard Home 使用 Portainer 在云中托管
- python - 如何使用 Numpy arange 函数打印偶数和奇数整数
- r - 如何在 R 中使用 optim 最大化似然函数