我想根据列的绝对值以升序或降序对极点数据帧进行排序.这是很容易做到的,在Pandas中,或者使用在Python中的sorted函数.假设我想要基于以下数据帧中的val列进行排序.

import numpy as np
np.random.seed(42)
import polars as pl

df = pl.DataFrame({
    "name": ["one", "one", "one", "two", "two", "two"],
    "id": ["C", "A", "B", "B", "C", "C"],
    "val": np.random.randint(-10, 10, 6)
    })

返回:

┌──────┬─────┬─────┐
│ name ┆ id  ┆ val │
│ ---  ┆ --- ┆ --- │
│ str  ┆ str ┆ i32 │
╞══════╪═════╪═════╡
│ one  ┆ C   ┆ -4  │
│ one  ┆ A   ┆ 9   │
│ one  ┆ B   ┆ 4   │
│ two  ┆ B   ┆ 0   │
│ two  ┆ C   ┆ -3  │
│ two  ┆ C   ┆ -4  │
└──────┴─────┴─────┘

谢谢!

推荐答案

您想根据绝对值'val'进行排序吗?

表情是你的朋友,不需要临时专栏:

In [33]: df.sort(pl.col('val').abs())
Out[33]:
shape: (6, 3)
┌──────┬─────┬─────┐
│ name ┆ id  ┆ val │
│ ---  ┆ --- ┆ --- │
│ str  ┆ str ┆ i64 │
╞══════╪═════╪═════╡
│ two  ┆ B   ┆ 0   │
│ two  ┆ C   ┆ -3  │
│ one  ┆ C   ┆ -4  │
│ one  ┆ B   ┆ 4   │
│ two  ┆ C   ┆ -4  │
│ one  ┆ A   ┆ 9   │
└──────┴─────┴─────┘

Python相关问答推荐

部分视图的DataFrame

在含噪声的3D点网格中识别4连通点模式

Python导入某些库时非法指令(核心转储)(beautifulsoup4."" yfinance)

启动带有参数的Python NTFS会导致文件路径混乱

如何在达到end_time时自动将状态字段从1更改为0

Python Tkinter为特定样式调整所有ttkbootstrap或ttk Button填充的大小,适用于所有主题

循环浏览每个客户记录,以获取他们来自的第一个/最后一个渠道

使用__json__的 pyramid 在客户端返回意外格式

pandas fill和bfill基于另一列中的条件

使用嵌套对象字段的Qdrant过滤

用fft计算指数复和代替求和来模拟衍射?

多索引数据帧到标准索引DF

普洛特利express 发布的人口普查数据失败

将鼠标悬停在海运`pairplot`的批注/高亮显示上

如何更改网络中某条边的位置(&Q;)?

判断字典键、值对是否满足用户定义的搜索条件

Networkx中K-Shell最核心的 node

为什么Python多处理.Process()传递队列参数并且读取比函数传递队列参数和读取更快?

从语法生成后出现Antlr4 Python运行时错误

提交按钮未过帐