You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python从双列数据文件中提取顶部、中部及底部数据

Python实现数据排序与分组提取

我有一个包含2列数据的datafile.txt文件(共25行),之前用Excel完成排序操作,现在想改用Python实现数据排序,并提取指定分组的数据。以下是相关信息:

数据文件示例(datafile.txt)

UQ8SAI       12.539
    V2LCFW      -11.487
    KCP5LY       10.31
    I2GYD5        7.321
    BOONZZ       -5.652
    BL19JU        0.669
    0E10MH       -8.472
    SRS7A0       -0.5
    0IS2PR       -0.686
    PL7BMP        0.561
    D4SBIM      -14.535
    NTT0RP        3.339
    7U2SWD       -7.216
    2B2L1X       20.31
    OEMHED       -0.561
    6F6SR8        5.652
    1GPMVW       -0.3401
    3GYYED        0.821
    21N6JN       -5.292
    DBSUQ1       -6.3403
    FXE8UH        3.1012
    LFB00W       -4.9191
    COSZVU        0.0132
    DBSUQ3        6.923
    QQTW8M        7.2584

当前参考代码(来自@Tim Roberts)

import pandas as pd
data = {}
for row in open('x.csv'):
    cols = row.rstrip().split()
    if cols[2] not in data:
        data[cols[2]] = {}
    data[cols[2]][cols[0]] = cols[1]
print(data)
df = pd.DataFrame(data)
print(df)

期望输出结果

#- 前5大正数(从高到低)
2B2L1X      20.31
UQ8SAI      12.539
KCP5LY      10.31
I2GYD5       7.321
QQTW8M       7.2584

#- 中间组1:-2及以下的前4个(数值从低到高)
0IS2PR      -0.686
OEMHED      -0.561
SRS7A0      -0.5
1GPMVW      -0.3401

#- 中间组2:0到2及以上的前4个(数值从高到低)
3GYYED       0.821
BL19JU       0.669
PL7BMP       0.561
COSZVU       0.0132

#- 后5小负数(数值从低到高)
D4SBIM      -14.535
V2LCFW      -11.487
0E10MH      -8.472
7U2SWD      -7.216
DBSUQ1      -6.3403

内容的提问来源于stack exchange,提问作者DarCoy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 22:17:46