Как удалить или удалить поле из структуры в Polars?Python

Программы на Python
Ответить
Anonymous
 Как удалить или удалить поле из структуры в Polars?

Сообщение Anonymous »

Я хочу удалить одно поле из структуры. В настоящее время я настроил это так, но есть ли более простой способ добиться этого?

Код: Выделить всё

import polars as pl
import polars.selectors as cs

def remove_one_field(df: pl.DataFrame) -> pl.DataFrame:
meta_data_columns = (df.select('meta_data')
.unnest('meta_data')
.select(cs.all() - cs.by_name('system_data')).columns)
print(meta_data_columns)
return (df.unnest('meta_data')
.select(cs.all() - cs.by_name('system_data'))
.with_columns(meta_data=pl.struct(meta_data_columns))
.drop(meta_data_columns))

# Example usage
input_df = pl.DataFrame({
"id": [1, 2],
"meta_data": [{"system_data": "to_remove", "user_data": "keep"}, {"user_data": "keep_"}]
})
output_df = remove_one_field(input_df)
print(output_df)

Код: Выделить всё

['user_data']
shape: (2, 2)
┌─────┬───────────┐
│ id  ┆ meta_data │
│ --- ┆ ---       │
│ i64 ┆ struct[1] │
╞═════╪═══════════╡
│ 1   ┆ {"keep"}  │
│ 2   ┆ {"keep_"} │
└─────┴───────────┘
Что-то вроде select для полей внутри структуры?


Подробнее здесь: https://stackoverflow.com/questions/787 ... -in-polars
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»