I'd like to add new empty columns (elements of mylist) to an existing dataframe.
This code does it:
import polars as pl

df = pl.DataFrame({'a': [1,2,3]})
mylist = [f'col{i}' for i in range(1,4)]
data = [[''] for i in range(1,len(mylist)+1)]

df.join(pl.DataFrame(data=data,schema=mylist),
        how='cross')

但有没有更两极的方法来做到这一点呢?使用.with_Columns()或pl.any()的内容?这样我就不必创建新的数据帧并加入它了?

推荐答案

您似乎在寻找pl.lit(),它允许您从文字值创建一个"表达式".

然后,您可以使用.alias()来 Select 名称.

df.with_columns(pl.lit('').alias(col) for col in mylist)
shape: (3, 4)
┌─────┬──────┬──────┬──────┐
│ a   ┆ col1 ┆ col2 ┆ col3 │
│ --- ┆ ---  ┆ ---  ┆ ---  │
│ i64 ┆ str  ┆ str  ┆ str  │
╞═════╪══════╪══════╪══════╡
│ 1   ┆      ┆      ┆      │
│ 2   ┆      ┆      ┆      │
│ 3   ┆      ┆      ┆      │
└─────┴──────┴──────┴──────┘

map()也可以用来代替理解.

df.with_columns(map(pl.lit('').alias, mylist))

Python相关问答推荐

TARete错误:类型对象任务没有属性模型'

为什么我的Python代码在if-else声明中的行之前执行if-else声明中的行?

将jit与numpy linSpace函数一起使用时出错

非常奇怪:tzLocal.get_Localzone()基于python3别名的不同输出?

如何将一个动态分配的C数组转换为Numpy数组,并在C扩展模块中返回给Python

在np数组上实现无重叠的二维滑动窗口

Python+线程\TrocessPoolExecutor

如何在表中添加重复的列?

如何启动下载并在不击中磁盘的情况下呈现响应?

Tkinter菜单自发添加额外项目

无论输入分辨率如何,稳定扩散管道始终输出512 * 512张图像

matplotlib + python foor loop

如何使用OpenGL使球体遵循Python中的八样路径?

如何找出Pandas 图中的连续空值(NaN)?

mdates定位器在图表中显示不存在的时间间隔

遍历列表列表,然后创建数据帧

对于数组中的所有元素,Pandas SELECT行都具有值

为什么在生成时间序列时,元组索引会超出范围?

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

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