Polars:如何添加带有数字的列?

2024-04-02

in pandas

df['new'] = a

where a是一个数字系列或只是一个数字。
而在polars我们可以添加一个char

df.with_column(
 [
  pl.all(),
  pl.lit('str').alias('new')
 ]
)

但如何添加数字系列或数字作为新列polars?
请注意,新的数字系列不在原始系列中df,它是一些计算的结果。


让我们从这个 DataFrame 开始:

import polars as pl
df = pl.DataFrame(
    {
        "col1": [1, 2, 3, 4, 5],
    }
)
print(df)
shape: (5, 1)
┌──────┐
│ col1 │
│ ---  │
│ i64  │
╞══════╡
│ 1    │
├╌╌╌╌╌╌┤
│ 2    │
├╌╌╌╌╌╌┤
│ 3    │
├╌╌╌╌╌╌┤
│ 4    │
├╌╌╌╌╌╌┤
│ 5    │
└──────┘

添加标量(单个值)

Use polars.lit https://pola-rs.github.io/polars/py-polars/html/reference/api/polars.lit.html#polars.lit.

my_scalar = -1
df.with_column(pl.lit(my_scalar).alias("col_scalar"))
shape: (5, 2)
┌──────┬────────────┐
│ col1 ┆ col_scalar │
│ ---  ┆ ---        │
│ i64  ┆ i32        │
╞══════╪════════════╡
│ 1    ┆ -1         │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 2    ┆ -1         │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 3    ┆ -1         │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 4    ┆ -1         │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 5    ┆ -1         │
└──────┴────────────┘

您还可以使用以下命令选择新列的数据类型dtype关键词。

df.with_column(pl.lit(my_scalar, dtype=pl.Float64).alias("col_scalar_float"))
shape: (5, 2)
┌──────┬──────────────────┐
│ col1 ┆ col_scalar_float │
│ ---  ┆ ---              │
│ i64  ┆ f64              │
╞══════╪══════════════════╡
│ 1    ┆ -1.0             │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 2    ┆ -1.0             │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 3    ┆ -1.0             │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 4    ┆ -1.0             │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 5    ┆ -1.0             │
└──────┴──────────────────┘

添加列表

要添加值列表(可能来自某些外部计算),请使用极地系列 https://pola-rs.github.io/polars/py-polars/html/reference/api/polars.Series.html#polars.Series构造函数并为 Series 构造函数提供名称。

my_list = [10, 20, 30, 40, 50]
df.with_column(pl.Series(name="col_list", values=my_list))
shape: (5, 2)
┌──────┬──────────┐
│ col1 ┆ col_list │
│ ---  ┆ ---      │
│ i64  ┆ i64      │
╞══════╪══════════╡
│ 1    ┆ 10       │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 2    ┆ 20       │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 3    ┆ 30       │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 4    ┆ 40       │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 5    ┆ 50       │
└──────┴──────────┘

您可以使用dtype如果需要,关键字可以控制新系列的数据类型。

df.with_column(pl.Series(name="col_list", values=my_list, dtype=pl.Float64))
shape: (5, 2)
┌──────┬──────────┐
│ col1 ┆ col_list │
│ ---  ┆ ---      │
│ i64  ┆ f64      │
╞══════╪══════════╡
│ 1    ┆ 10.0     │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 2    ┆ 20.0     │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 3    ┆ 30.0     │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 4    ┆ 40.0     │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ 5    ┆ 50.0     │
└──────┴──────────┘

添加系列

如果您已经有一个系列,您只需提供其参考即可。

my_series = pl.Series(name="my_series_name", values=[10, 20, 30, 40, 50])
df.with_column(my_series)
shape: (5, 2)
┌──────┬────────────────┐
│ col1 ┆ my_series_name │
│ ---  ┆ ---            │
│ i64  ┆ i64            │
╞══════╪════════════════╡
│ 1    ┆ 10             │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 2    ┆ 20             │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 3    ┆ 30             │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 4    ┆ 40             │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 5    ┆ 50             │
└──────┴────────────────┘

如果您的系列还没有名称,您可以使用alias表达。

my_series_no_name = pl.Series(values=[10, 20, 30, 40, 50])
df.with_column(my_series_no_name.alias('col_no_name'))
shape: (5, 2)
┌──────┬─────────────┐
│ col1 ┆ col_no_name │
│ ---  ┆ ---         │
│ i64  ┆ i64         │
╞══════╪═════════════╡
│ 1    ┆ 10          │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 2    ┆ 20          │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 3    ┆ 30          │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 4    ┆ 40          │
├╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 5    ┆ 50          │
└──────┴─────────────┘
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Polars:如何添加带有数字的列? 的相关文章

随机推荐

  • 验证 Base64 编码图像

    我正在构建一个应用程序 允许用户POSTHTML5 画布数据随后以 Base64 进行编码并显示给所有用户 我正在考虑将数据解析为实际的 png 文件并存储在服务器上 但 base64 路由允许我将图像存储在数据库中并最大限度地减少请求 图
  • SQL Server:根据条件查找日期与当前日期最接近的记录

    我正在使用 SQL Server 2012 并尝试创建一个将根据以下条件返回记录的视图 查询需要根据日期检索最适用的记录 对于内部日期范围内的日期 将返回最接近 CurrentDate 的记录 对于内部日期范围之外的日期 将返回最接近 Cu
  • 为什么在 shellcode 中使用 Push/Pop 而不是 Mov 将数字放入寄存器中?

    我有一些来自 shell 代码有效负载的示例代码 显示了 for 循环并使用 push pop 来设置计数器 push 9 pop ecx 为什么不能直接使用mov呢 mov ecx 9 是的 通常你应该总是使用mov ecx 9出于性能原
  • LinkedAuthorizationFailed 在 PowerShell 中意味着什么?

    我正在尝试使用 PowerShell 在 cosmos db 中添加虚拟网络规则 VNETS 存在于不同的租户中 我对存储帐户做了同样的事情 效果很好 我收到以下错误 有人可以给我一些关于我哪里出错的指示吗 是否可以在 Cosmos 数据库
  • eclipse:调试以编程方式启动的进程

    我正在通过 Eclipse 中的另一个 java 进程以编程方式执行 java 进程 Process process Runtime getRuntime exec command envp dir 有没有办法告诉eclipse调试子进程
  • E2009 不兼容的类型:“参数列表不同”

    我收到以下错误 E2009 不兼容的类型 参数列表不同 然而我不同意 看看定义我看不出有什么区别 这是记录定义 type TFastDiv record private DivideFunction function const Buffe
  • 哪种 TypeScript 配置会产生最接近 Node.js 16 功能的输出?

    Node js 16 最近发布 带来了对 ES2021 的更新支持以及对 ES 模块的稳定支持 如何配置 TypeScript 来输出利用所有这些新功能的 JavaScript 代码 从 Node js 开始16 0 0 100 支持ES2
  • 顺利改变CSS

    我的情况如下 我有以下功能 var showHideMemberContent function if isHidden false showHideMemberContent text Member Content main css he
  • 对 Volatile.Read/Write 的理解

    我试图理解 C Volatile 类 正如我读到的 The Volatile Write方法强制写入位置中的值 到呼叫点 此外 任何较早的程序订单 加载和存储必须在调用 Volatile Write 之前发生 The Volatile Re
  • 扩展类型转换器

    DateTimeConverter 类提供 DateTime 和字符串之间的转换 我还想支持 DateTime 和 double 之间的转换 根据 MSDN 我可以扩展 DateTimeConverter 类来执行此操作 请参阅MSDN 日
  • Visual Studio 2015 重置 Web 项目以使用 IIS Express

    我在 VS2015 中有一个 Web 项目 我想在本地 IIS 上运行 我在项目属性中进行了设置 它工作正常 但每当我关闭并重新打开 Visual Studio 时 它总是将项目重置为使用 IIS Express EDIT 当我关闭并重新打
  • opencv - 视频看起来不错,但帧旋转了 90 度

    我们将视频保存在移动客户端上并将其发送到服务器 在服务器上 我使用以下代码来保存帧 gt import skvideo io import cv2 haar home ubuntu opencv data haarcascades haar
  • dapper -multi-mapping:扁平 sql 返回嵌套对象

    我有一家包含地址对象的公司 SQL 返回是平坦的 我试图让 Query 加载所有对象 cnn Query
  • 运行 BLAST (bl2seq) 而不创建序列文件

    我有一个执行 BLAST 查询 bl2seq 的脚本 该脚本的工作原理如下 获取序列a 序列b 将序列a写入文件 将序列b写入文件b 运行命令 bl2seq i filea j fileb nblastn 从 STDOUT 获取输出 解析
  • 为什么使用 ASP.NET 从另一个页面返回后 Page_Load 没有触发 - 因此是史诗般的尴尬:)

    假设我在同一个 ASP NET C 网站上有两个页面 Page1 aspx 在 Page Load 事件中执行操作 我使用菜单导航到 Page2 aspx Page2 aspx 然后做了一些事情响应 重定向返回Page1 aspx Page
  • 在类构造函数中完成类注册后,不调用类构造函数

    我正在编写一个简单的依赖注入 控制反转系统 基于 TDictionary 保存抽象类引用及其各自的实现类 我的目标是 避免按类型直接实例化 显然 将类单元包含在 dpr 中应该足以使其注册并可通过 di ioc 系统进行选择和实例化 声明具
  • Java TreeMap 自定义比较器奇怪的行为

    我正在尝试创建一个Map使用排序键 首先按字母顺序排序 最后按数字排序 为此 我正在使用TreeMap与定制Comparator public static Comparator
  • 将嵌套 html 转换为 bbCode 引用标签

    我正在尝试转换以下html div class bbQuote div class quoteAuthor Joe Block div div class quoteContent This is the first message br
  • 围绕位图调整画布大小?

    如下图所示 我将在以下示例中使用它 目前尺寸未改变96 x 71 假设我想调整画布大小115 x 80 结果图像应该是 最后 如果我将其调整为比原始画布更小的尺寸 例如45 x 45输出将如下所示 这是我到目前为止所尝试过的 procedu
  • Polars:如何添加带有数字的列?

    in pandas df new a where a是一个数字系列或只是一个数字 而在polars我们可以添加一个char df with column pl all pl lit str alias new 但如何添加数字系列或数字作为新