Polars:在列名中搜索和替换
Polars: Search and replace in column names
这在 pandas
中曾经是这样处理的:
df.columns = df.columns.str.replace('.','_')
此代码有效,但绝对不是正确的解决方案。
renamed = {}
for column_name in list(filter(lambda x: '.' in x, df.columns)):
renamed[column_name] = column_name.replace('.', '_')
df = df.rename(renamed)
感谢
df.columns
returns a python List[str]
而且它还支持__setitem__
,所以你可以在这里使用python。
df = pl.DataFrame({
"a.c": [1, 2],
"b.d": [3, 4]
})
df.columns = list(map(lambda x: x.replace(".", "_"), df.columns))
print(df)
shape: (2, 2)
┌─────┬─────┐
│ a_c ┆ b_d │
│ --- ┆ --- │
│ i64 ┆ i64 │
╞═════╪═════╡
│ 1 ┆ 3 │
├╌╌╌╌╌┼╌╌╌╌╌┤
│ 2 ┆ 4 │
└─────┴─────┘
这在 pandas
中曾经是这样处理的:
df.columns = df.columns.str.replace('.','_')
此代码有效,但绝对不是正确的解决方案。
renamed = {}
for column_name in list(filter(lambda x: '.' in x, df.columns)):
renamed[column_name] = column_name.replace('.', '_')
df = df.rename(renamed)
感谢
df.columns
returns a python List[str]
而且它还支持__setitem__
,所以你可以在这里使用python。
df = pl.DataFrame({
"a.c": [1, 2],
"b.d": [3, 4]
})
df.columns = list(map(lambda x: x.replace(".", "_"), df.columns))
print(df)
shape: (2, 2)
┌─────┬─────┐
│ a_c ┆ b_d │
│ --- ┆ --- │
│ i64 ┆ i64 │
╞═════╪═════╡
│ 1 ┆ 3 │
├╌╌╌╌╌┼╌╌╌╌╌┤
│ 2 ┆ 4 │
└─────┴─────┘