python - 根据指定列对其他列进行排序
问题描述
我有一个 .dat 文件,其中三列由空格分隔 [示例如下所示,但在我的情况下没有列名],我需要根据阶段列对其他列进行排序,该列从最小到最大排序。
例如,
Time Phase Mag
t1 0.1 m1
t2 0.0 m2
t3 0.2 m3
t4 0.4 m4
t5 0.3 m5
然后像这样对三列进行排序:
t2 0.0 m2
t1 0.1 m1
t3 0.2 m3
t5 0.3 m5
t4 0.4 m4
我找到了 2 列数据的示例,2 列排序示例,但它不适用于 3 列。有人可以帮我弄这个吗?
解决方案
我已将以下内容保存到名为example.dat
Time Phase Mag
t1 0.1 m1
t2 0.0 m2
t3 0.2 m3
t4 0.4 m4
t5 0.3 m5
下面的代码应该可以完成这项工作。
import pandas as pd
df = pd.read_csv("example.dat",delim_whitespace=True) # read the file with whitespaces as the delimiter
df.sort_values("Phase") # sort on the column "Phase"
输出:
Time Phase Mag
1 t2 0.0 m2
0 t1 0.1 m1
2 t3 0.2 m3
4 t5 0.3 m5
3 t4 0.4 m4
推荐阅读
- r - 缩放栅格堆栈中的单个像元
- networking - 如何通过命令行在通过openvpn连接的ubuntu服务器和windows客户端之间发送消息?
- c++ - 关于指针的困惑
- amazon-dynamodb - 如何管理 dynamoDB 结构?
- php - 检查日期时间是否超过 5 天
- graphql - 多个父类型的 Gatsby graphql 片段
- ios - 为 vEvent 生成 QR 码会出现错误“未找到可用数据”
- docker - 获取 https://ghrc.io/v2/:net/http: 等待连接时取消请求(等待标头时超出 Client.Timeout)
- php - Laravel 日期转换有什么问题?
- google-app-engine - 如何在 Google Cloud Platform 日志中启用 POST 请求正文?