假设一个DataFrame中有数百列.有些列名是小写的,有些是大写的.

现在,我想将所有列转换为大写.

import polars as pl

df = pl.DataFrame({
    "foo": [1, 2, 3, 4, 5, 8],
    "baz": [5, 4, 3, 2, 1, 9],
    
})

我try 了什么:

df.columns = [x.upper() for x in df.columns]

它起作用了,但有没有其他方法,最好不使用for循环?

推荐答案

.rename()还接受可调用的.

df.rename(str.upper)
shape: (6, 2)
┌─────┬─────┐
│ FOO ┆ BAZ │
│ --- ┆ --- │
│ i64 ┆ i64 │
╞═════╪═════╡
│ 1   ┆ 5   │
│ 2   ┆ 4   │
│ 3   ┆ 3   │
│ 4   ┆ 2   │
│ 5   ┆ 1   │
│ 8   ┆ 9   │
└─────┴─────┘

Python相关问答推荐

如何比较numPy数组中的两个图像以获取它们不同的像素

Mistral模型为不同的输入文本生成相同的嵌入

Python,Fitting into a System of Equations

在Python中动态计算范围

我想一列Panadas的Rashrame,这是一个URL,我保存为CSV,可以直接点击

Python+线程\TrocessPoolExecutor

提取相关行的最快方法—pandas

mypy无法推断类型参数.List和Iterable的区别

isinstance()在使用dill.dump和dill.load后,对列表中包含的对象失败

在Python中计算连续天数

将标签移动到matplotlib饼图中楔形块的开始处

在matplotlib中使用不同大小的标记顶部添加批注

关于两个表达式的区别

以异步方式填充Pandas 数据帧

SpaCy:Regex模式在基于规则的匹配器中不起作用

删除Dataframe中的第一个空白行并重新索引列

无法在盐流道中获得柱子

使用xlsxWriter在EXCEL中为数据帧的各行上色

使用Scikit的ValueError-了解

如何让PYTHON上的Selify连接到现有的Firefox实例-我无法连接到Marionette端口