Python Polars – как заменить строки в столбце df списками со значениями из словаря?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python Polars – как заменить строки в столбце df списками со значениями из словаря?

Сообщение Anonymous »

Это продолжение вопроса, на который ранее был дан ответ.
Имейте большой df-фрейм данных, который выглядит следующим образом (список в столбце «SKU»)

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

| SKU                                                                  | Count | Percent
|----------------------------------------------------------------------|-------|-------------|
| "('000000009100000749',)"                                            | 110   | 0.029633621 |
| "('000000009100000749', '000000009100000776')"                       | 1     | 0.000269397 |
| "('000000009100000749', '000000009100000776', '000000009100002260')" | 1     | 0.000269397 |
| "('000000009100000749', '000000009100000777', '000000009100002260')" | 1     | 0.000269397 |
| "('000000009100000749', '000000009100000777', '000000009100002530')" | 1     | 0.000269397 |
Необходимо заменить значения в столбце «SKU» соответствующими значениями из словаря df_unique, который выглядит следующим образом (не обращайте внимания на формат ниже, это словарь):



skus str
код i64




000000009100000749
1


000000009100000785
2


000000009100002088
3




Я пробовал этот код:

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

replacements = pl.col("SKU")

for old, new in df_unique.items():
replacements = replacements.str.replace_all(old, new)
df = df.select(replacements)
Получите эту ошибку:
SchemaError: Серия dtype: List(Utf8) != Utf8
Я попытался изменить значения столбца на строку, хотя считаю, что это избыточно, но та же ошибка

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

df= df.with_column(
pl.col('SKU').apply(lambda row: [str(x) for x in row])
)
Какие-нибудь указания о том, что я делаю неправильно?

Подробнее здесь: https://stackoverflow.com/questions/750 ... values-fro
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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